Excel: как найти ссылку на ячейку?

0

Предположим, я нахожусь в ячейке 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 .

Самбо
источник
1
Не уверен, как отследить корень назначения, но вы можете использовать OFFSET, чтобы найти (a + 1, b + 1), если вы знаете (a, b).
Чжунцзе Шен
1
@ Самбо, вы пытались ввести "= FORMULATEXT (C1)" в ячейку D1. Это то, что вы ищите?
Бхарат Ананд

Ответы:

0

Это то, что вы после

= FORMULATEXT (С1)

Бхарат Ананд
источник
Понижение на, казалось бы, идеальный ответ без каких-либо объяснений! Я рад удалить ответ, если это не то, что ищет ОП. Если бы я не был уверен, я бы добавил свой ответ в качестве предложения к комментариям, однако я почти уверен, что это решит проблему @ Sambo.
Бхарат Ананд
1
Я подозреваю, что отрицательный голос объясняется тем, что этот намек - едва ли комментарий, не говоря уже об ответе. Это ничего не объясняет. Если бы ОП был знаком с FORMULATEXT и это то, что им нужно, они бы не задали вопрос. Итак, если они просто не знакомы с этим, зачем им это использовать? Что оно делает? Как это решает проблему? Где они могут узнать больше о функции?
fixer1234
Эта команда действительно помогает! Хотя я опубликую более полный ответ, который я выяснил
самбо
0

Я буду работать на приведенном примере. Сначала используйте команду 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, что мы и хотели.

Самбо
источник