Я хотел сделать то же самое в электронной таблице Google Docs, чтобы макросы отсутствовали, мне удалось сделать это с некоторыми IF и VLOOKUP. Это кажется немного запутанным, возможно, у кого-то есть более эффективный способ сделать это, но это должно работать без макросов:
Слева от ввода я создал столбец, начинающийся с 0 и увеличивающийся каждый раз, когда столбец B содержит данные:
A1=0
A2=IF(ISBLANK(B2),A1,A1+1)
A3=IF(ISBLANK(B3),A2,A2+1)
...
поэтому первый лист выглядит так:
0
1 data1
1
2 data2
3 data3
3
3
4 data4
Затем на выходном листе укажите столбец с просто увеличивающимися значениями и выполните vlookup для первой строки, содержащей это число:
A1=1
A2=2
...
и
B1=VLOOKUP(A1,Sheet1!A:B,2,FALSE)
B2=VLOOKUP(A2,Sheet1!A:B,2,FALSE)
...
Итак, второй лист выглядит так:
1 data1
2 data2
3 data3
4 data4
Сделайте еще один vlookup для любых других столбцов, которые вы хотите перенести с первого листа, затем скройте столбцы с номерами в них.