Как построить ссылку на ячейку из двух чисел без использования text()+indirect()?

Как построить ссылку на ячейку из двух чисел без использования text()+indirect()?

Ссылки на ячейки можно создавать программно, используя комбинацию функций concatenate(), text() и indirect() с некоторой числовой формулой. Это работает хорошо, но может сделать формулу вызова переполненной и неуклюжей. Это также предотвращает автоматическое обновление адреса указанной ячейки при перемещении (перетаскивании) целевой ячейки в таблице.

Например, сделаем ячейку равной B2:

=INDIRECT(CONCATENATE("B", TEXT(3-1,"0")))

3-1приведено для наглядности - фактическая формула сложнее

Есть ли способ создать ссылку более напрямую, т.е. без перехода к области манипуляции ТЕКСТОМ, что-то вроде:

=("B"):(3-1)

И при этом также сохранить автоматическую ссылку на перемещенную ячейку B1?

решение1

Не уверен, поможет ли это, но я бы также предложил использовать функцию СМЕЩ.

OFFSET(cell reference, rows, cols [, height [, width]])

например, вы можете использовать =OFFSET(B3,-1,0)и ссылка на ячейку будет обновляться по мере перемещения ваших данных

решение2

Ваш пример полностью эквивалентен

=INDIRECT("B"&(3-1))

решение3

Вы можете использовать INDEX, который обновится, если вы его перетащите, например

=INDEX(B:B,3-1)

перетащите его, и он изменится на C:C, D:D и т. д.

Связанный контент