Мне нужно разобрать строку с переменной длиной поля в отдельных столбцах. У меня есть следующая серия данных.

Используя формулы, я хотел бы заполнить столбцы F, G, H и различные разделы полей в столбце D. Я создал текущий контент вручную, но хотел бы сделать это с помощью формул.

Я могу получить большинство из них правильно, но у меня возникли проблемы со столбцом G, потому что эти данные иногда имеют два символа (например, 01, 03), а иногда пять символов (например, 01-16).

3 ответа3

1

В Excel перейдите в текст в столбцы

выберите с разделителями:

выберите пробел:

Clcik Далее и у вас это будет.

1

Я бы использовал метод Text to Columns, но так как вы попросили формулу, поместите это в копию B2 снова и вниз:

=TRIM(MID(SUBSTITUTE($A2," ",REPT(" ",999)),(COLUMN(A:A)-1)*999+1,999))

0

Это простой способ сделать это, предполагая, что формат остается чем-то [пробелом], чем-то [пробелом] и т.д. Хитрость заключается в том, чтобы сосредоточиться на пробелах (разделители), а не на данных (текст)

  • столбец F = left($ d6, find("", $ d6)) это использует находку, чтобы выяснить, сколько тянуть.

  • Столбец g = MID($ D6,1+LEN(F6), НАЙТИ ("", $ D6,1+LEN(F6)) - LEN(F6))

При этом используется середина с началом после столбца f, а затем поиск второго пробела

  • Столбец h = MID($ D6,1+LEN(F6 & G6), FIND("", $ D6,1+LEN(F6 & G6))- 1-LEN(F6 & G6))

Это следует той же схеме. Используйте середину и начните после предыдущих 2 столбцов данных, ищите следующий пробел, и разница в том, сколько использовать.

Просто скопируйте это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .