Как обращаться к ячейке, когда адрес находится в переменной
Например, в выражении вместо написания адреса A1
, как я могу написать что-то вроде: A(B1)
с B1 = 1
.
Ответы
Ответ 1
Я думаю, что другой способ объяснить, что делает INDIRECT:
Он превращает текст в диапазон, если этот диапазон действителен.
например. Если у вас есть текст A1, он будет ссылаться на A1. Если у вас есть текст C2: C100, вы получите это как диапазон.
Теперь один из наиболее распространенных способов в excel генерировать текст в виде диапазонов - это объединить. Итак, если вы соедините A
и 1
(CONCATENATE("A","1")
), вы получите A1.
И вы можете использовать ссылку в этом объединении. Пусть говорят, что ячейка B1 содержит 1.
=CONCATENATE("A",B1)
дает текст A1.
Следовательно, чтобы получить ячейку A1, вы сможете использовать:
=INDIRECT(CONCATENATE("A",B1))
За исключением того, что функция CONCATENATE()
теперь немного длинна, но не волнуйтесь! Вы можете использовать &
:
=INDIRECT("A"&B1)
Работает так же хорошо.
Если у вас есть что-то более сложное, как у вас есть C
в A1 и 32
в B1, чтобы ссылаться на ячейку C32
, вы можете сделать:
=INDIRECT(A1&B1)
Что дает =INDIRECT("C"&"32")
, =INDIRECT("C32")
и, наконец, =C32
Ответ 2
`INDIRECT '- это функция, которую вам нужно использовать.
В документации :
Синтаксис:
НЕПРЯМЫЕ (Ref; A1)
Ref представляет ссылку на ячейку или область (в текстовой форме), для которой нужно вернуть содержимое.
A1 (необязательно) - если установлено значение 0, используется нотация R1C1. Если этот параметр отсутствует или установлен на другое значение, отличное от 0, используется нотация A1.
Пример
= INDIRECT (A1) равно 100, если A1 содержит C108 в качестве ссылки, а ячейка C108 содержит значение 100.
= SUM (INDIRECT ( "a1:" и ADDRESS (1; 3))) суммирует ячейки в области A1 до ячейки с адресом, определенным строкой 1 и столбцом 3 Это означает, что общая площадь A1: C1.
Ответ 3
= OFFSET (B1, 0, 1)
OFFSET (ссылка, смещение строки, смещение столбца, высота по умолчанию - 1, ширина по умолчанию - 1)
Пример 1. У нас есть таблица умножения и нам нужно найти ответ по какой-то глупой причине с помощью СМЕЩЕНИЯ.
A B C D E F
1 1 2 3 4 5
---------------
2 1 | 1 2 3 4 5
3 2 | 2 4 6 8 10
4 3 | 3 6 9 12 15
5 4 | 4 8 12 16 20
6 5 | 5 10 15 20 25
Скажем, нам нужно 2x4
= OFFSET (A1, 2, 4)
или в этом случае переключение чисел работает одинаково хорошо
= OFFSET (A1, 4, 2)
Пример 2.
Позвольте рассчитать сумму всех чисел в предыдущей таблице умножения, которые равны 2 или более.
= SUM (OFFSET (A1, 2, 2, 4, 4))