Ordenar alfabeticamente con fórmula.

03/04/2005 - 13:44 por javier | Informe spam
Saludos a todos:

En una columna tenía una lista de valores tipo texto tal
como éstos:

b
a
re
c
pez
#¡NUM!
#¡NUM!
#¡NUM!
#¡NUM!

Por medio de una fórmula, quizás matricial, quería que me
quedase ordenada alfabeticamente en otra columna.
Los valores de error #¡NUM!, no deben aparecer o deben
quedar al final. Es decir debe quedar así:

a
b
c
pez
re
#¡NUM!
#¡NUM!
#¡NUM!
#¡NUM!

o así:

a
b
c
pez
re

Si encontraís una solución os lo agradezco. Saludos.
Gracias.
javier.

Preguntas similare

Leer las respuestas

#11 Angelo Vernaza
05/04/2005 - 16:58 | Informe spam
Hola, Kl y tambien usando la formula de Fernando no me salen en el orden que
es :(

=SI(ESERROR(INDICE(Resumen!B:B,COINCIDIR(FILA(),SI(ESERROR(INDIRECTO("Resume
n!B1:B"&CONTARA(Resumen!B:B))),INDIRECTO("Resumen!B1:B"&CONTARA(Resumen!B:B)
),CONTAR.SI(Resumen!$B:$B,"<"&INDIRECTO("Resumen!B1:B"&CONTARA(Resumen!B:B))
)+1),))),"",INDICE(Resumen!B:B,COINCIDIR(FILA(),SI(ESERROR(INDIRECTO("Resume
n!B1:B"&CONTARA(Resumen!B:B))),INDIRECTO("Resumen!B1:B"&CONTARA(Resumen!B:B)
),CONTAR.SI(Resumen!B:$B,"<"&INDIRECTO("Resumen!B1:B"&CONTARA(Resumen!B:B)))
+1),)))

"Angelo Vernaza" escribió en el mensaje
news:#
Hola Kl, ya vi y lo corregí pero ni aun asi, si fijas en la columna B en


la
Hoja resumen le haces el filtro, los primeros dos nombres q salen son
Acosta, Myrka y despues Aguilar, Juan; según entiendo con la formla los
nombres me deberian ordenar de acuerdo a lo q filtro en esa columna, pero


no
es asi estas dos personas no me aparen aun cuando corregí lo del error,
espero q me puedas ayudar.

Saludos,


"KL" escribió en el mensaje
news:
> Hola Angelo,
>
> Esta vez ha sido facil :-) La formula funciona perfectamente. Lo que
ocurre
> es que en la celda que te da vacio (mas concretamente [C10] en la hoja


CSS
> (2)) no has introducido la formula como matricial. Probablement lo que


ha
> pasado es que al principio copiaste todas las formulas bien, pero luego
> entraste en la celda para modificar o ver algo y al salir pulsaste Enter
en
> vez de Ctrl+Shift+Enter.
>
> Saludos,
> KL
>
> "Angelo Vernaza" wrote in message
> news:
> > Ok. Te la voy a enviar, para ver, lo unico q la hoja es bien pesada
dejame
> > borrarle un poco de páginas
> >
> > "KL" escribió en el mensaje
> > news:#
> >> Hola Angelo,
> >>
> >> Esta formula no "tolera" duplicidad de datos. Si no es eso, enviame


la
> > hoja
> >> por correo y la miro.
> >>
> >> Saludos,
> >> KL
> >>
> >> "Angelo Vernaza" wrote in message
> >> news:%
> >> > KL como estas?, estoy tratando de usar tu formula, no me sale error
ni
> >> > nada,
> >> > pero me hacen faltan algunos datos, no me sale toda la lista. y no


se
> > que
> >> > será...!
> >> >
> >> >
> >> > "KL" escribió en el mensaje
> >> > news:
> >> >> Hola Javier,
> >> >>
> >> >> Prueba la siguiente formula MATRICIAL (Ctrl+Shift+Enter):
> >> >>
> >> >>
> >> >
> >



=SI(ESERROR(INDICE(Rango;COINCIDIR(FILA()-FILA(PrimeraCelda)+1;CONTAR.SI(Ran
> >> >
> >



go;"<="&Rango);0)));"";INDICE(Rango;COINCIDIR(FILA()-FILA(PrimeraCelda)+1;CO
> >> > NTAR.SI(Rango;"<="&Rango);0)))
> >> >>
> >> >> donde "Rango" es referencia absoluta a tu lista (p.ej.:


$A$2:$A$100)
y
> >> >> "PrimeraCelda" es referencia absoluta a la primera celda de tu


lista
> >> > (p.ej.:
> >> >> $A$2)
> >> >>
> >> >> Esta formula permite que el rango se encuentre en cualquier parte


de
> >> >> la
> >> > hoja
> >> >> e ignora celdas vacias, valores numericos y de error.
> >> >>
> >> >> Me ha costado un poco :-)
> >> >>
> >> >> Saludos,
> >> >> KL
> >> >>
> >> >> "javier" wrote in message
> >> >> news:15a201c53842$7307b890$
> >> >> Saludos a todos:
> >> >>
> >> >> En una columna tenía una lista de valores tipo texto tal
> >> >> como éstos:
> >> >>
> >> >> b
> >> >> a
> >> >> re
> >> >> c
> >> >> pez
> >> >> #¡NUM!
> >> >> #¡NUM!
> >> >> #¡NUM!
> >> >> #¡NUM!
> >> >>
> >> >> Por medio de una fórmula, quizás matricial, quería que me
> >> >> quedase ordenada alfabeticamente en otra columna.
> >> >> Los valores de error #¡NUM!, no deben aparecer o deben
> >> >> quedar al final. Es decir debe quedar así:
> >> >>
> >> >> a
> >> >> b
> >> >> c
> >> >> pez
> >> >> re
> >> >> #¡NUM!
> >> >> #¡NUM!
> >> >> #¡NUM!
> >> >> #¡NUM!
> >> >>
> >> >> o así:
> >> >>
> >> >> a
> >> >> b
> >> >> c
> >> >> pez
> >> >> re
> >> >>
> >> >> Si encontraís una solución os lo agradezco. Saludos.
> >> >> Gracias.
> >> >> javier.
> >> >>
> >> >>
> >> >>
> >> >
> >> >
> >>
> >>
> >
> >
>
>


Respuesta Responder a este mensaje
#12 KL
05/04/2005 - 17:27 | Informe spam
Hola Angelo,

"KL" wrote in message
=SI(ESERROR(INDICE(Rango;COINCIDIR(FILA()-FILA(PrimeraCelda)+1;CONTAR.SI(Rango;"<="&Rango);0)));"";INDICE(Rango;COINCIDIR(FILA()-FILA(PrimeraCelda)+1;CONTAR.SI(Rango;"<="&Rango);0)))
donde ... "PrimeraCelda" es referencia absoluta a la primera celda de tu
lista (p.ej.:
$A$2)



Tenias razon. El problema estaba en mi explicacion de la variable
PrimeraCelda. Como la simulacion inicial la hice en dos columnas contiguas,
este problema (error mas bien) paso desapercibido porque no afectaba los
datos. La cosa es que =FILA(PrimeraCelda) debe devolver la primera fila de
la nueva lista. Dado que en tu caso la lista origen empieza en [B2] y la
lista destino en [C6] se te perdian 4 personas ya que la cuenta empezaba por
5 no 1, es decir

FILA()-FILA($B$2)+1=6-2+1=5
en vez de
FILA()-FILA($B$6)+1=6-6+1=1

Saludos,
KL
Respuesta Responder a este mensaje
#13 Angelo Vernaza
05/04/2005 - 17:57 | Informe spam
Gracias Kl, perfecto nada mas cambie la celda esa y listo.

Saludos,


"KL" escribió en el mensaje
news:
Hola Angelo,

"KL" wrote in message
>


=SI(ESERROR(INDICE(Rango;COINCIDIR(FILA()-FILA(PrimeraCelda)+1;CONTAR.SI(Ran
go;"<="&Rango);0)));"";INDICE(Rango;COINCIDIR(FILA()-FILA(PrimeraCelda)+1;CO
NTAR.SI(Rango;"<="&Rango);0)))
> donde ... "PrimeraCelda" es referencia absoluta a la primera celda de tu
> lista (p.ej.:
> $A$2)

Tenias razon. El problema estaba en mi explicacion de la variable
PrimeraCelda. Como la simulacion inicial la hice en dos columnas


contiguas,
este problema (error mas bien) paso desapercibido porque no afectaba los
datos. La cosa es que =FILA(PrimeraCelda) debe devolver la primera fila de
la nueva lista. Dado que en tu caso la lista origen empieza en [B2] y la
lista destino en [C6] se te perdian 4 personas ya que la cuenta empezaba


por
5 no 1, es decir

FILA()-FILA($B$2)+1=6-2+1=5
en vez de
FILA()-FILA($B$6)+1=6-6+1=1

Saludos,
KL




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida