Вставьте и сдвиньте "X" количество строк столбца под указанной строкой - PullRequest
0 голосов
/ 16 января 2019

В настоящее время я работаю с очень большими наборами данных о транспортных средствах с различными значениями стоимости, т. Е. Количеством мест, где у нас есть транспортные средства.

Большой проблемой, с которой я сталкиваюсь, является смешивание двух конкретных форматов, показанных ниже как SET-1 и SET-2, с FINAL FORMAT

SET-1 с вертикальными заголовками после нижнего столбца A

SET-2 с горизонтальными заголовками в ряду 1

                      *DATA SET-1*
|       |      A     |     B     |     C     |
|   1   |     VIN        12745       33166
|   2   |     LC1        GR/MI       LA/CA
|   3   |     LC2        AR/MI       SD/CA
|   4   |     LC3        LN/MI
                      *DATA SET-2*
|       |      A     |     B     |     C     |
|   1   |     VIN         LC1         MAKE
|   2   |    12745       GR/MI        FORD
|   3   |    33166       LA/CA        BMW
|   4   |    67832       CB/OH        GMC

Настоящий дорожный блок, с которым я сталкиваюсь, состоит из FINAL FORMAT Locations или LC, которые должны быть расположены друг под другом в пустой строке.

                     *FINAL FORMAT*
|       |      A     |     B     |     C     |
|   1   |     SKU         LC1         MAKE
|   2   |    12745       GR/MI        FORD
|   3   |                AR/MI        
|   4   |                LN/MI        
|   5   |    33166       LA/CA        BMW
|   6   |                SD/CA
|   7   |    67832       CB/OH        GMC

Инстинктивно, что я хочу сделать, это на новом листе, иметь все VIN числа в столбце A, как они есть в SET-2, иметь B1 Vlookup и соответствовать VIN из столбца B из SET-1 подсчитать, сколько элементов под этим VIN сдвинуть строки вниз и отобразить LC во вновь созданных строках.

Я искренне извиняюсь, что на самом деле работал над этим, и наглядно демонстрирую, что я пытаюсь делать весь день. Я буду более чем рад предоставить любую дополнительную информацию. У меня более 20 тысяч VIN и 10-20 мест для каждого VIN.

Любая помощь не поддается оценке.

1 Ответ

0 голосов
/ 16 января 2019

Вы можете сделать это с помощью повторяющихся формул index..match:

В A2

=IF(ROW()=2,Sheet2!A$2,IF(ROW()-MATCH(99999,A$1:A1)<COUNTA(INDEX(Sheet1!A:C,0,
MATCH(INDEX(A$1:A1,MATCH(99999,A$1:A1)),Sheet1!$1:$1,0)))-1,"",INDEX(Sheet2!A:A,COUNT(A$1:A1)+2)))

В B2

=IF(ISNUMBER(A2),INDEX(Sheet2!B:B,MATCH(A2,Sheet2!A:A,0)),INDEX(Sheet1!A:C,
ROW()-MATCH(99999,A$1:A1)+2,MATCH(INDEX(A:A,MATCH(99999,A$1:A1)),Sheet1!$1:$1)))

В С2

=IF(ISNUMBER(A2),INDEX(Sheet2!C:C,MATCH(A2,Sheet2!A:A,0)),"")

Предполагается, что LC1 на листе 1 совпадает с LC1 на листе 2, и поэтому, если нет совпадения с VIN на листе 1, вы берете его с листа 2.

Я добавил дополнительную строку в Sheet2, чтобы проверить случай, когда нет совпадения для VIN в Sheet1.

Лист1

enter image description here

Лист2

enter image description here

Sheet3

enter image description here

...