Excel: как найти ссылку на ячейку?
Предположим, я нахожусь в ячейке C1, а код в ней - "=A1". Затем в ячейке D1 я хочу видеть, что C1 соединяется с A1, а затем вместо этого связывается с B1.
В более общем смысле, если ячейка X связана с ячейкой (a,b), возможно ли получить значение в ячейке (a+1, b+1), основываясь только на X? Если нет, есть ли простой способ, чтобы что-то подобное?
РЕДАКТИРОВАТЬ: В качестве конкретного примера, предположим, у нас есть следующее расположение ячеек:
Я хочу расширить команду "= A1" вниз через столбец E, чтобы скопировать ячейки "Яблоки", "Бананы", "Груши" и т. Д. Затем я хочу создать команду в F1, которую я могу аналогичным образом распространять вниз во всем F, который будет копировать содержимое в столбце B, то есть "1$", "3$", "2$" и т. Д. Важно отметить, что команда в F1 должна работать, даже если я ссылаюсь на другую ячейку из E1. То есть, если я решу вместо E1 ссылаться на B1, тогда F1 должен содержать содержимое C1, без необходимости менять формулу в F1.
3 ответа
Вы можете переключать Excel между отображением формулы и отображением результатов. В Windows это Ctrl-могила. Это ключ, следующий слева вверху, между номером 1 и Tab. https://support.office.com/en-us/article/display-or-hide-formulas-f7f5ab4e-bf24-4efc-8fc9-0c1b77a5356f
Я буду работать на приведенном примере. Сначала используйте команду FORMULATEXT, чтобы получить формулу в E1 как текст.
=FORMULATEXT(E1)
Это дает строку "=A1"
Затем мы должны обрезать текст, чтобы просто получить ячейку. Я использовал ПРАВУЮ команду, хотя может быть менее подробный способ сделать это.
=RIGHT( FORMULATEXT(E1), LEN( FORMULATEXT(E1) ) - 1 )
Это дает строку "А1"
Затем мы должны превратить эту строку в ссылку, используя команду INDIRECT.
=INDIRECT( RIGHT( FORMULATEXT(E1), LEN( FORMULATEXT(E1) ) - 1 ) )
Это ссылается на ячейку A1
Наконец, мы можем получить ячейку рядом с A1, используя команду OFFSET.
=OFFSET( INDIRECT( RIGHT( FORMULATEXT(E1), LEN( FORMULATEXT(E1) ) - 1 ) ), 0, 1)
Это относится к ячейке B1, что мы и хотели.