ordenamiento de numeros que son texto

18/11/2006 - 00:40 por macabeo | Informe spam
Hola, saludos a todos:

Sabe alguien como configurar excel para que ordene una lista de numeros
registrados como textos, y tome en cuenta primero las unidades, luego
las decimas, y asi sucesivamente:
Les expongo mi caso particular: Tengo partidas de un presupuesto en una
columna tales como:

1.2.15.1
1.2.7.5
1.2.3.1

Si las ordeno en orden ascendente quedan:
1.2.15.1
1.2.3.1
1.2.7.5

Pero necesito que se ordenen asi:
1.2.3.1
1.2.7.5
1.2.15.1

lo que hago y que es bastante tedioso cuando se trata de 50 partidas,
es editar los numeros y anteponerles un 0 al 3 y al 7 en el caso del
ejemplo, ordenarlo y luego volverlo a editar y eliminar el cero.
Aprecio se consejo de antemano
fzglz

Preguntas similare

Leer las respuestas

#1 AnSanVal
18/11/2006 - 01:37 | Informe spam
Una opción podria ser valerte de una columna auxiliar con la formula:
=--SUSTITUIR(A1;".";"") y ordenar por esa columna auxiliar.
Ten en cuenta que mi sistema utiliza ; (punto y coma) como separador y no la
, (coma).

Saludos desde Tenerife: Antonio.
******************************
"macabeo" escribió en el mensaje
news:
Hola, saludos a todos:

Sabe alguien como configurar excel para que ordene una lista de numeros
registrados como textos, y tome en cuenta primero las unidades, luego
las decimas, y asi sucesivamente:
Les expongo mi caso particular: Tengo partidas de un presupuesto en una
columna tales como:

1.2.15.1
1.2.7.5
1.2.3.1

Si las ordeno en orden ascendente quedan:
1.2.15.1
1.2.3.1
1.2.7.5

Pero necesito que se ordenen asi:
1.2.3.1
1.2.7.5
1.2.15.1

lo que hago y que es bastante tedioso cuando se trata de 50 partidas,
es editar los numeros y anteponerles un 0 al 3 y al 7 en el caso del
ejemplo, ordenarlo y luego volverlo a editar y eliminar el cero.
Aprecio se consejo de antemano
fzglz

Respuesta Responder a este mensaje
#2 Héctor Miguel
18/11/2006 - 05:17 | Informe spam
hola, chicos !

[de seguro que me estoy 'adelantando' :D pero]... me imagino que la 'numeracion' de las partidad prespuestales...
-> son una 'simulacion' del capitulos, subcapitulos, indices, subindices [y asi sucesivamente, como dice OP] -?-

si lo anterior es 'de lo que se ha quedado en el tintero' -?-
-> con la formula para sustituir los puntos, una partida del tipo: -> 1.15.1 [convertida a 1151]
en la ordenacion quedaria ANTES que otra partida del tipo: -> 1.2.3.1 [convertida a 1231]
-> es decir, quedaria el orden... primero por capitulos, luego subcapitulos [y asi sucesivamente] -?-

igual y me he 'fumado' una de la buena :)) [ya comentara OP alguno detalles 'pendientes'] ;)

saludos,
hector.

__ las consultas y propuestas anteriores _
AnSanVal escribio en el mensaje ...
Una opcion podria ser valerte de una columna auxiliar con la formula: =--SUSTITUIR(A1;".";"") y ordenar por esa columna auxiliar...



macabeo [???] escribio en el mensaje ...
... como configurar excel para que ordene una lista de numeros registrados como textos
... en cuenta primero las unidades, luego las decimas, y asi sucesivamente:
... partidas de un presupuesto en una columna tales como:
1.2.15.1
1.2.7.5
1.2.3.1 [...]
... necesito que se ordenen asi:
1.2.3.1
1.2.7.5
1.2.15.1
lo que hago y que es bastante tedioso... editar los numeros y anteponerles un 0 al 3 y al 7 en el caso del ejemplo
ordenarlo y luego volverlo a editar y eliminar el cero...
Respuesta Responder a este mensaje
#3 macabeo
18/11/2006 - 17:27 | Informe spam
Gracias AnSanVal y Hector M por su respuesta:
Efectivamente los numeros te hablan de capitulos, subcapitulos, etc,
etc...He seguido sus recomendaciones y quite los puntos con
=sustituir(), pero no me da los resultados deseados. Ordenando en forma
ascendente, obtengo algo como los siguiente: la columna 1 es la
numeracion original y la 2 representa los numeros que se obtienen con
SUSTITUIR:

7.7.2 772
9.3.1 931
9.7.1 971
1.1.6.2 1162
1.2.1.6 1216
1.2.2.2 1222
1.2.3.3 1233
1.2.3.3 1233
1.2.3.3 1233
1.2.3.5 1235
1.2.3.5 1235
1.2.3.5 1235
1.2.3.5 1235
1.3.5.1 1351
1.3.5.2 1352
1.3.5.2 1352
3.1.1.1 3111
3.1.3.2 3132
3.1.3.2 3132
9.3.10 9310
1.1.10.1 11101
1.1.10.1 11101
1.1.12.2 11122

el resultado que requiero exige primero los 1.1.1.XX, luego los
1.1.XX.XX, luego los 1.2.1.XX , 1.2.XX.XX y asi...en el caso de ejemplo
el numero al final de la lista debio ser 9.7.1

Aprecio de antemano su auxilio
Francisco

AnSanVal ha escrito:

Una opción podria ser valerte de una columna auxiliar con la formula:
=--SUSTITUIR(A1;".";"") y ordenar por esa columna auxiliar.
Ten en cuenta que mi sistema utiliza ; (punto y coma) como separador y no la
, (coma).

Saludos desde Tenerife: Antonio.
******************************
"macabeo" escribió en el mensaje
news:
> Hola, saludos a todos:
>
> Sabe alguien como configurar excel para que ordene una lista de numeros
> registrados como textos, y tome en cuenta primero las unidades, luego
> las decimas, y asi sucesivamente:
> Les expongo mi caso particular: Tengo partidas de un presupuesto en una
> columna tales como:
>
> 1.2.15.1
> 1.2.7.5
> 1.2.3.1
>
> Si las ordeno en orden ascendente quedan:
> 1.2.15.1
> 1.2.3.1
> 1.2.7.5
>
> Pero necesito que se ordenen asi:
> 1.2.3.1
> 1.2.7.5
> 1.2.15.1
>
> lo que hago y que es bastante tedioso cuando se trata de 50 partidas,
> es editar los numeros y anteponerles un 0 al 3 y al 7 en el caso del
> ejemplo, ordenarlo y luego volverlo a editar y eliminar el cero.
> Aprecio se consejo de antemano
> fzglz
>
Respuesta Responder a este mensaje
#4 AnSanVal
18/11/2006 - 17:46 | Informe spam
Cierto Macabeo. :-(

Tienes razón Hector, siempre hay algún detalle que se nos escapa.
Modifiqué la fórmula, pero me salió tan larga (cuatro filas), que no me
atreví a publicarla.
En espera de que tú o KL [pareceis los jibaros de las fórmulas :-))]
publiqueis una "decente", opté por cuatro columnas auxiliares.

Suponiendo el texto en A1:
[B1].- =ENCONTRAR(".";$A1)
[C1].- =ENCONTRAR(".";$A1;B1+1)
[D1].- =ENCONTRAR(".";$A1;C1+1)
[E1].- =IZQUIERDA(A1;B1-1)&TEXTO(EXTRAE(A1;B1+1;C1-B1-1);"00")& _
TEXTO(EXTRAE(A1;C1+1;D1-C1-1);"00")&TEXTO(EXTRAE(A1;D1+1;2);"00")

[Esta sólo ocupa una fila, aunque aqui se vea en dos]

Saludos desde Tenerife.
**********************************
"Héctor Miguel" escribió en el mensaje
news:
hola, chicos !

[de seguro que me estoy 'adelantando' :D pero]... me imagino que la
'numeracion' de las partidad prespuestales...
-> son una 'simulacion' del capitulos, subcapitulos, indices, subindices
[y asi sucesivamente, como dice OP] -?-

si lo anterior es 'de lo que se ha quedado en el tintero' -?-
-> con la formula para sustituir los puntos, una partida del tipo: ->
1.15.1 [convertida a 1151]
en la ordenacion quedaria ANTES que otra partida del tipo: -> 1.2.3.1
[convertida a 1231]
-> es decir, quedaria el orden... primero por capitulos, luego
subcapitulos [y asi sucesivamente] -?-

igual y me he 'fumado' una de la buena :)) [ya comentara OP alguno
detalles 'pendientes'] ;)

saludos,
hector.

__ las consultas y propuestas anteriores _
AnSanVal escribio en el mensaje ...
Una opcion podria ser valerte de una columna auxiliar con la formula:
=--SUSTITUIR(A1;".";"") y ordenar por esa columna auxiliar...





macabeo [???] escribio en el mensaje ...
... como configurar excel para que ordene una lista de numeros
registrados como textos
... en cuenta primero las unidades, luego las decimas, y asi
sucesivamente:
... partidas de un presupuesto en una columna tales como:
1.2.15.1
1.2.7.5
1.2.3.1 [...]
... necesito que se ordenen asi:
1.2.3.1
1.2.7.5
1.2.15.1
lo que hago y que es bastante tedioso... editar los numeros y
anteponerles un 0 al 3 y al 7 en el caso del ejemplo
ordenarlo y luego volverlo a editar y eliminar el cero...




Respuesta Responder a este mensaje
#5 Héctor Miguel
18/11/2006 - 18:40 | Informe spam
hola, chicos !

-> la siguiente propuesta de formula, tampoco es muy 'delgada' [que digamos :-(]
tambien debe quedar en una sola linea, estoy suponiendo que la capitulacion se inicia en 'A2'
y... mi sistema usa como separador de argumentos a la coma ',' [por si las dudas] :D

=sumaproducto(--(codigo(extrae(a2,fila(indirecto("1:"&largo(a2))),1))
&repetir("00",(k.esimo.mayor(fila(indirecto("1:10")),fila(indirecto("1:"&largo(a2))))))))

notas: 1) la parte del indirecto("1:10") -> 'asume' un maximo de 10 caracteres en la capitulacion:
-> p.e.: 9.99.99.99 [incluyendo los puntos]
-> podria sustituirse la anidacion de funciones fila(indirecto("1:10")) [p.e.] por una matriz 'constante'
[p.e.] -> {1\2\3\4\5\6\7\8\9\10} [pero -creo- es mas facil sustituir 1 o 2 caracteres que modificar toda una matriz -?-
2) la parte del repetir("00".) -> 'asume' un maximo de 2 caracteres para cada [sub]capitulacion

comentado lo anterior... si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ la consulta anterior __
Efectivamente los numeros te hablan de capitulos, subcapitulos, etc, etc...
He seguido sus recomendaciones y quite los puntos con =sustituir(), pero no me da los resultados deseados.
Ordenando en forma ascendente, obtengo algo como los siguiente:
la columna 1 es la numeracion original y la 2 representa los numeros que se obtienen con SUSTITUIR:
7.7.2 772
9.3.1 931
9.7.1 971
1.1.6.2 1162
1.2.1.6 1216
1.2.2.2 1222
1.2.3.3 1233
1.2.3.3 1233
1.2.3.3 1233
1.2.3.5 1235
1.2.3.5 1235
1.2.3.5 1235
1.2.3.5 1235
1.3.5.1 1351
1.3.5.2 1352
1.3.5.2 1352
3.1.1.1 3111
3.1.3.2 3132
3.1.3.2 3132
9.3.10 9310
1.1.10.1 11101
1.1.10.1 11101
1.1.12.2 11122
el resultado que requiero exige primero los 1.1.1.XX, luego los 1.1.XX.XX, luego los 1.2.1.XX , 1.2.XX.XX y asi...
en el caso de ejemplo el numero al final de la lista debio ser 9.7.1
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida