Excel - смещение до последней непустой ячейки - PullRequest
0 голосов
/ 02 мая 2020

Из моего исследования, когда группа ячеек объединена, вы можете ссылаться только на первый ряд и первый столбец объединенных ячеек. НАПРИМЕР. если A1: A3 объединены, то я могу получить доступ только к данным, используя только A1, а A2 и A3 возвращают 0.

Теперь, скажем, у меня есть столбец B, у которого есть формула, которая рассчитывается на основе значений в столбце A. Если я перетащу эту формулу вниз, то B2 и B3 в конечном итоге будут использовать значение 0, когда они должны использовать значение в A1.

По сути, я хочу сделать "если ячейка в столбце A (этой строки) пустое, затем используйте последнее непустое значение, идущее вверх ".

Я знаю, что для этого потребуется объединить пару формул, но я не могу понять, как создать это , Для начала я могу использовать функцию «Смещение» для «go вверх», но сложная часть здесь заключается в том, как найти предыдущую непустую ячейку?

Я также пытался комбинировать OFFSET с COUNTA (см. https://www.exceltip.com/other-qa-formulas/get-the-value-of-the-last-non-blank-cell-in-a-column-in-microsoft-excel.html), но это не работает, если это происходит несколько раз.

Ответы [ 2 ]

2 голосов
/ 02 мая 2020

Самый простой способ - использовать вспомогательный столбец:

enter image description here

В записи B2

=IF(NOT(ISBLANK(A2)),0,B1+1)

и записи C2

=OFFSET(A2,-B2,0)

Редактировать: на самом деле ... решение без вспомогательного столбца еще проще! Напишите в B2:

=IF(ISBLANK(A2),B1,A2)

enter image description here

1 голос
/ 03 мая 2020

Чтобы избежать вспомогательного столбца, вы можете использовать функции INDEX + AGGREGATE:

=INDEX($A$1:A1,AGGREGATE(14,6,($A$1:A1<>"")*ROW($A$1:A1),1))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...