Я делаю это, но это не работает:

=&ROW(D(RIGHT(A21, LEN(A21)-SEARCH(" ", A21, 1))))

Я хочу вычислить число поиска из другой ячейки и добавить его в строку D чтобы получить, например: D8

Какие-либо предложения?

2 ответа2

2

Самый прямой (не каламбур) способ сделать то, что вы хотите, это

=INDIRECT("D" & RIGHT(A21,LEN(A21)-SEARCH(" ",A21,1)))

который строит строку D8 путем конкатенации строки (текстового литерала) "D" с номером, который вы извлекаете из ячейки A21 а затем передает ее в функцию INDIRECT , которая обращается к ячейке на основе ее адреса в виде строки.

Возможно, лучший способ (если вы всегда хотите получить доступ к столбцу D , т. Е. Это не переменная)

=INDEX(D:D, RIGHT(A21,LEN(A21)-SEARCH(" ",A21,1)))

который получает число из ячейки A21 как и вы, но затем использует его в качестве индекса в столбце D

1

Вы можете сделать это одним из двух способов. Посмотрите на функцию

=INDIRECT(ref_text)

"Ref_text" может быть текстом, который относится к ячейке. Например, если я поставлю:

=INDIRECT("A1")

где "А1" - текст, я могу ссылаться на ячейку. Вы можете собрать воедино текст в этой функции, используя другие формулы, подобные вашей в оригинальном сообщении.

Еще один способ, который может работать для вас, это использовать функцию

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

на который вы сначала ссылаетесь на ячейку, а затем сообщаете функции, сколько строк или столбцов вы находитесь вдали от этой ячейки.

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