Вот метод для получения значения из вертикально слитых ячеек (т.е. только 1 столбец), который не использует VBA
Во-первых, предостережение - это пропускает все пустые ячейкив столбце, чтобы найти первую ячейку с данными в той же строке, что и ваша целевая ячейка. Таким образом, он не будет извлекать «пустые» данные и не заботится о том, действительно ли ячейки действительно объединены.
=INDEX($A$1:$A1, SUMPRODUCT(MAX(ROW($A$1:$A1)*--(LEN($A$1:$A1)>0))) ,1)
$A1
- ваша целевая ячейка. $A$1:$A1
будет ячейками в или выше текущей строки из столбца А. Она будет расширяться при перетаскивании формулы вниз (т. Е. В строке 9 это будет $A$1:$A9
)
SUMPRODUCT
найдет строку MAX
, где есть данные (LEN($A1)>0
). Затем INDEX
использует это значение для возврата значения
This в формулу массива, поэтому вам нужно будет использовать Ctrl + Shift + Введите после ввода формулы.
Если в данных или выше нет данных, то формула будет ссылаться на верхнюю ячейку,и вернуть 0 (см. эту статью от Microsoft ). Мы можем вернуть пробел (""
), используя CountA
, чтобы увидеть, есть ли какие-либо данные:
=IF(COUNTA($A$1:$A1)<1, "", INDEX($A$1:$A1, SUMPRODUCT(MAX(ROW($A$1:$A1)*--(LEN($A$1:$A1)>0))),1))