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

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, что мы и хотели.

0

Вы можете переключать Excel между отображением формулы и отображением результатов. В Windows это Ctrl-могила. Это ключ, следующий слева вверху, между номером 1 и Tab. https://support.office.com/en-us/article/display-or-hide-formulas-f7f5ab4e-bf24-4efc-8fc9-0c1b77a5356f

0

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

= FORMULATEXT(С1)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .