Мне удалось адаптировать ответ Байрона Уолла на Как создать динамическую таблицу в Excel? (при переполнении стека) для чередования двух столбцов:
E2 → =A2
E3 → =B2
E4 → =IF(
INDEX(C$2:C$99, MATCH(E2,A$2:A$99), 1) > COUNTIF(E$2:E2, E2),
E2,
INDEX(A$2:A$99, MATCH(E2,A$2:A$99)+1, 1))
E5 → =IF(
INDEX(C$2:$C99, MATCH(E2,A$2:A$99), 1) > COUNTIF(E$2:E2, E2),
E3,
INDEX(B$2:B$99, MATCH(E2,A$2:A$99)+1, 1))
Затем выберите E4 и E5 вместе и перетащите вниз.
Конечно, вы должны заменить 99 последним номером строки ваших исходных данных (или чем-то большим).
Для тестирования / демонстрации я
- изменил количество повторений на что-то управляемое, поэтому мне не пришлось бы перетаскивать строку 828 (2 × 413+2), чтобы увидеть
32 (A3) в первый раз,
- изменили даты окончания
B3:B6 , поэтому было бы очевидно, что B3 , B4 , B5 и B6 отображались напротив A3 , A4 , A5 и A6 (а не B2 снова и снова),
только для отображения, разбейте столбец E на две части, чтобы изображение могло иметь высоту 20 строк, а не 38.

Это позволяет диапазонам дат перекрываться, как указано выше,
или вот так: или чтобы не было перекрытия, вот так:
дата начала дата окончания дата начала дата окончания 0 15 1 10 10 25 11 20 20 35 21 30 30 45 31 40 40 55 41 50
Но это не позволяет значениям A появляться в предыдущих строках как значения B
вот так: или вот так:
дата начала дата окончания дата начала дата окончания 1 8 1 15 8 15 8 22 15 22 15 29 22 29 22 36 29 36 29 43
(то есть диапазоны не должны быть смежными).
Если вам нужно обрабатывать такие данные, измените E4 и E5 на:
E4 → =IF(
INDEX(C$2:C$99, MATCH(E2,A$2:A$99), 1) >
SUMPRODUCT(--(E$2:E2 = E2), --(MOD(ROW(E$2:E2),2)=0)),
E2,
INDEX(A$2:A$99, MATCH(E2,A$2:A$99)+1, 1))
E5 → =IF(
INDEX(C$2:C$99, MATCH(E2,A$2:A$99), 1) >
SUMPRODUCT(--(E$2:E2 = E2), --(MOD(ROW(E$2:E2),2)=0)),
E3,
INDEX(B$2:B$99, MATCH(E2,A$2:A$99)+1, 1))
Для ясности я отформатировал даты начала, а даты окончания - желтые:
