Мне было так любопытно, и я просто не могу понять, как могла бы работать ваша прежняя формула ... Я разлагаю части, и результат не имеет смысла ...
Это проверено и должно работать.., поместите это в любую ячейку (мой пример W137
).Введите его с помощью Ctrl + Shift + Enter, поскольку это формула массива.
{=IFERROR(INDEX($Q$137:$Q$151, SMALL(IF(ISBLANK($Q$137:$Q$151), "", ROW($Q$137:$Q$151)-MIN(ROW($Q$137:$Q$151))+1), ROW(Q1))),"")}
Обратите внимание R1
, первая ячейка должна начинаться с ячейки R1
.
РЕДАКТИРОВАТЬ
Наконец-то я получил его на работу (все значения в столбце G-I сделаны по формуле массива)... Спасибо, что дали мне больше разъяснений:)
Ваша формула использует строку выше диапазона, который вы установили в качестве точки фиксации.Это вычитает это значение из текущей строки, которую вы смотрите.Таким образом, эти значения должны быть зафиксированы с помощью $
, а также вашего диапазона.
Это сработало в моей ячейке I5
, Ctrl + Shift + Enter для ввода массива:
{=IFERROR(INDEX($E$5:$E$18,SMALL(IF($E$5:$E$18<>"",ROW($E$5:$E$18)-ROW($E$4)),ROW()-ROW($E$4))),"")}
Не запутайтесь в моей картинке, где я ввожу формулу.Я использую скандинавскую версию с разделителем ";
" вместо ",
".