2

У меня есть таблица с полем Invoice который содержит значения и даты. Может быть более одного счета на одну запись. Если это так, счета-фактуры перечисляются через разрывы строк в одной ячейке. Пример показан ниже.

 PO #   PO Date   PO Amt        Invoice
  1     05/19/15   100        100 06/01/15
                              500 07/1/15
                              1000 08/1/15
  2     05/20/15   101        100 06/01/15
                              500 07/1/15
                              1000 08/1/15
  3     05/21/15   102        100 06/01/15
                              500 07/1/15
                              1000 08/1/15

Я хочу разделить эти записи, в которых указано более одного счета. Я хотел бы создать новые строки для каждого счета. Новые строки должны иметь те же данные в других полях. Вот как должны выглядеть примеры данных, когда это будет сделано:

PO #    PO Date   PO Amt     Invoice
1       05/19/15   100     100 06/01/15
1       05/19/15   100     500 07/1/15
1       05/19/15   100     1000 08/1/15
2       05/20/15   101     100 06/01/15
2       05/20/15   101     500 07/1/15
2       05/20/15   101     1000 08/1/15
3       05/21/15   102     100 06/01/15
3       05/21/15   102     500 07/1/15
3       05/21/15   102     1000 08/1/15

Выполнение этого вручную заняло бы вечность. Как я могу разделить эти записи таким образом в Excel?

1 ответ1

0

Я все еще хочу дать ему шанс:D

  • в A:D ваши данные
  • я предполагаю E:Z пусто

Мы начинаем с:

сейчас в E2

=SUBSTITUTE(D2,"
",";")

(Alt+Enter для разрыва строки внутри ячейки)
Теперь мы опускаем его до конца стола.
Выделите столбец E
- копия
- вставить (только значения)
- в "Data" -Tab используйте "Text to Columns" -> разделенные ->
снять все, кроме точки с запятой -> конец

Теперь наша таблица должна выглядеть так:

теперь самое интересное: формул: D
я начну с M2 (отрегулируйте, если нужно)

=IFERROR(INDEX($E$2:$I$999,(ROW()-MOD(ROW()-2,5)-2)/5+1,MOD(ROW()-2,5)+1),"")

и потяните его вниз при необходимости ... примечание: настройте $E$2:$I$999 как вам нравится ... но не забывайте $
Теперь для J2:

=IFERROR(INDEX(A$2:A$999,(ROW()-MOD(ROW()-2,5)-2)/5+1),"") (note: NO $ in front of the A!)

перетащите его на L2 а затем вниз для всех 3 столбцов

Теперь приходит волшебство: выберите столбец M и нажмите фильтр -> снимите флажок 0 и empty

выделите весь список сейчас и скопируйте его -> вставьте его на другой лист (значения только как в прошлый раз)

Теперь скопируйте / вставьте заголовки, и все готово :)

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