Ordenamiento de txt separado por "|"

Tengo un archivo de texto llamado DETALLE_PEDIDO.TXT
lo que necesito es ordenar el archivo en forma ascendente tomando como cabeza de ordenamiento el quinto campo.
Es decir el archivo tiene cientos de líneas con la siguiente estructura:
<numero1> |<numero2> |<string1> |<numero3> |<numero4> |<string2> |<numero5> |0.00 |0.00 |0.00 | | |
Lo que se necesita es tomar como referencia el campo numérico |<numero4> | y según ese campo ordenar las filas
15084 | 23 | C011410 | 99 | 66082 | 0070022 | 1 | 32.415 | 0 | 32.41500000 |  | 21 |
15085 | 23 | C116615 | 99 | 66083 | 0803424 | 1 | 11.144 | 0 | 11.14400000 |  | 21 |
15085 | 23 | C116615 | 99 | 66084 | 0801568 | 2 | 2.212 | 0 | 4.42400000 |  | 21 |
15087 | 2 | C129460 | 99 | 66089 | 2110177B | 2 | 0.000 | 0 | 0.00000000 |  | 21 |
15087 | 2 | C129460 | 99 | 66086 | 0070217C | 2 | 0.00 | 0.00 | 0.00 |  |  |
15087 | 2 | C129460 | 99 | 66088 | 2110177 | 2 | 7.500 | 0 | 15.00000000 |  | 21 |
15087 | 2 | C129460 | 99 | 66087 | 0070217 | 5 | 9.924 | 0 | 49.62000000 |  | 11 |
15088 | 3 | C105613 | 99 | 66094 | 0160121 | 1 | 17.644 | 0 | 17.64400000 |  | 21 |
15088 | 3 | C105613 | 99 | 66095 | 0160006D | 1 | 0.000 | 0 | 0.00000000 |  | 12 |
15088 | 3 | C105613 | 99 | 66090 | 0290003 | 1 | 7.847 | 0 | 7.84700000 |  | 22 |
15088 | 3 | C105613 | 99 | 66098 | 0290009 | 6 | 11.017 | 0 | 66.10200000 |  | 11 |
15088 | 3 | C105613 | 99 | 66093 | 0160006E | 1 | 0.00 | 0.00 | 0.00 |  |  |
15088 | 3 | C105613 | 99 | 66100 | 0170105 | 1 | 0.000 | 0 | 0.00000000 |  | 31 |
15088 | 3 | C105613 | 99 | 66092 | 0160054 | 1 | 18.407 | 0 | 18.40700000 |  | 21 |
15088 | 3 | C105613 | 99 | 66097 | 79722402 | 2 | 6.102 | 0 | 12.20400000 |  | 21 |
15088 | 3 | C105613 | 99 | 66099 | 0170181 | 12 | 2.389 | 0 | 28.66800000 |  | 22 |
15088 | 3 | C105613 | 99 | 66091 | 0290010 | 12 | 1.398 | 0 | 16.77600000 |  | 21 |
15088 | 3 | C105613 | 99 | 66101 | 90143056 | 6 | 3.923 | 0 | 23.53800000 |  | 22 |
15088 | 3 | C105613 | 99 | 66096 | 0070103 | 12 | 1.839 | 0 | 22.06800000 |  | 21 |
explicacion:
las 3 primeras lineas estan ordenadas (para este ejemplo)
15084 | 23 | C011410 | 99 | 66082 | 0070022 | 1 | 32.415 | 0 | 32.41500000 |  | 21 |
15085 | 23 | C116615 | 99 | 66083 | 0803424 | 1 | 11.144 | 0 | 11.14400000 |  | 21 |
15085 | 23 | C116615 | 99 | 66084 | 0801568 | 2 | 2.212 | 0 | 4.42400000 |  | 21 |
pero la 4ta debería empezar con 66086 sin embargo esta con la 66089
y asi sucesivamente, luego el resultado del ordenamiento debería ser el siguiente:
15084 | 23 | C011410 | 99 | 66082 | 0070022 | 1 | 32.415 | 0 | 32.41500000 |  | 21 |
15085 | 23 | C116615 | 99 | 66083 | 0803424 | 1 | 11.144 | 0 | 11.14400000 |  | 21 |
15085 | 23 | C116615 | 99 | 66084 | 0801568 | 2 | 2.212 | 0 | 4.42400000 |  | 21 |
15087 | 2 | C129460 | 99 | 66086 | 0070217C | 2 | 0.00 | 0.00 | 0.00 |  |  |
15087 | 2 | C129460 | 99 | 66087 | 0070217 | 5 | 9.924 | 0 | 49.62000000 |  | 11 |
15087 | 2 | C129460 | 99 | 66088 | 2110177 | 2 | 7.500 | 0 | 15.00000000 |  | 21 |
15087 | 2 | C129460 | 99 | 66089 | 2110177B | 2 | 0.000 | 0 | 0.00000000 |  | 21 |
15088 | 3 | C105613 | 99 | 66090 | 0290003 | 1 | 7.847 | 0 | 7.84700000 |  | 22 |
15088 | 3 | C105613 | 99 | 66091 | 0290010 | 12 | 1.398 | 0 | 16.77600000 |  | 21 |
15088 | 3 | C105613 | 99 | 66092 | 0160054 | 1 | 18.407 | 0 | 18.40700000 |  | 21 |
15088 | 3 | C105613 | 99 | 66093 | 0160006E | 1 | 0.00 | 0.00 | 0.00 |  |  |
15088 | 3 | C105613 | 99 | 66094 | 0160121 | 1 | 17.644 | 0 | 17.64400000 |  | 21 |
15088 | 3 | C105613 | 99 | 66095 | 0160006D | 1 | 0.000 | 0 | 0.00000000 |  | 12 |
15088 | 3 | C105613 | 99 | 66096 | 0070103 | 12 | 1.839 | 0 | 22.06800000 |  | 21 |
15088 | 3 | C105613 | 99 | 66097 | 79722402 | 2 | 6.102 | 0 | 12.20400000 |  | 21 |
15088 | 3 | C105613 | 99 | 66098 | 0290009 | 6 | 11.017 | 0 | 66.10200000 |  | 11 |
15088 | 3 | C105613 | 99 | 66099 | 0170181 | 12 | 2.389 | 0 | 28.66800000 |  | 22 |
15088 | 3 | C105613 | 99 | 66100 | 0170105 | 1 | 0.000 | 0 | 0.00000000 |  | 31 |
15088 | 3 | C105613 | 99 | 66101 | 90143056 | 6 | 3.923 | 0 | 23.53800000 |  | 22 |
como se aprecio el archivo DETALLE_PEDIDO.TXT ahora esta ordenado por el |<numero4> | desde el 66082 hasta el 66101

1 Respuesta

Respuesta
1

Sin usar macros usa esta fórmula =EXTRAE(A1, HALLAR(" 66", A1, 1), 6) esto te dejara la tabla así, luego simplemente seleccionas los registros y ordenas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas