Добрый вечер!
Есть следующая таблица:
номер столбец2 столбец3 столбец4
11111111 текст1 текст2 текст3
текст1 текст2 текст3
текст1 текст2 текст3
текст1 текст2 текст3
22222222 текст1 текст2 текст3
текст1 текст2 текст3
текст1 текст2 текст3
текст1 текст2 текст3
текст1 текст2 текст3
текст1 текст2 текст3
текст1 текст2 текст3
текст1 текст2 текст3
текст1 текст2 текст3
текст1 текст2 текст3
текст1 текст2 текст3
33333333 текст1 текст2 текст3
текст1 текст2 текст3
текст1 текст2 текст3
текст1 текст2 текст3
текст1 текст2 текст3
На выходе надо получить такую таблицу:
номер столбец2 столбец3 столбец4
11111111 текст1 текст2 текст3
11111111 текст1 текст2 текст3
11111111 текст1 текст2 текст3
11111111 текст1 текст2 текст3
22222222 текст1 текст2 текст3
22222222 текст1 текст2 текст3
22222222 текст1 текст2 текст3
22222222 текст1 текст2 текст3
22222222 текст1 текст2 текст3
22222222 текст1 текст2 текст3
22222222 текст1 текст2 текст3
22222222 текст1 текст2 текст3
22222222 текст1 текст2 текст3
22222222 текст1 текст2 текст3
22222222 текст1 текст2 текст3
33333333 текст1 текст2 текст3
33333333 текст1 текст2 текст3
33333333 текст1 текст2 текст3
33333333 текст1 текст2 текст3
33333333 текст1 текст2 текст3
Т.е. заполнить пустые ячейки значениями из выше.
В теории я понимаю, что нужно ввести доп переменную, присвоить ей значение из первого столбца и потом в цикле "бежать" по всей таблице и в случае "" подставлять переменную, в другом случае записывать в неё новое значение и только потом подставлять...
Но на практике не вышло. Прошу помощи.
Заранее спасибо.
Есть такая примочка Previous(), она бы наверное сгодилась, но я бы на Вашем месте начал бы того, как формируется исходная таблица. Лучше не подлаживать Клику подобные таблицы для преобразования. Есть зависимость от порядка сортировки, загрузки... Если эта таблица грузится из Excel или еще откуда, то давайте сделаем ее правильной изначально во избежание возможных ошибок.
При загрузке используйте это.
IF(isnNull(номер),Peek(номер),номер) as номер
Previos() корректно отработал только 1 раз, т.е. из массива:
1111 ; - ; - ; - ; -
получил массив:
1111 ;1111 ; - ; - ; -
isnNull(номер) не хотел работать и я его заменил на len(номер)=0, далее в связке с Peek всё отлично заработало.
Спасибо! :) :) :)
Значит что-то не так делали. Оба предложенных варианта должны были отработать корректно.