В чистом Excel, как ссылаться на столбец в диапазоне (без VBA) - PullRequest
5 голосов
/ 01 февраля 2012

У меня на листе диапазон чисел, из этого диапазона, как я могу ссылаться на полный столбец или строку, заданную индексом?

Я использую 2007 .. Я посмотрел в HLookup / Vlookup / Indexбез успеха

Ответы [ 3 ]

12 голосов
/ 01 февраля 2012

Я предполагаю, что вы имеете в виду ссылку на весь столбец / строку как диапазон / массив в другой формуле?

Если это так, то единственный способ, которым я могу придумать, - это использовать OFFSET

=OFFSET($A:$A,,MyColIndex-1)
=OFFSET($1:$1,MyRowIndex-1,)

вот ...

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

Однако это не будет работать, если вы вставите столбец слева от A или строку выше 1.

РЕДАКТИРОВАТЬ:только что нашел способ решить эту маленькую проблему ...

=OFFSET($A:$A,,MyColIndex-Column($A:$A))
=OFFSET($1:$1,MyRowIndex-Row($1:$1),)
4 голосов
/ 01 февраля 2012

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

Пример

  • ваша таблица называется Table1и имеет столбцы Column1, Column2, Column3
  • ячейка E1 имеет имя столбца (например, Column1)

В этом случае выможет вычислить (например) сумму столбца, указанного E1, с помощью:

=SUM(INDIRECT("Table1["& E1 &"]"))
3 голосов
/ 01 февраля 2012

Как насчет чего-то вроде:

=SUM(INDEX(2:1048576,0,2))

Суммирует весь второй столбец в указанном диапазоне, т. Е. B2: B1048576. Это работает, потому что 0 в аргументе строки функции index возвращает весь столбец - в указанном диапазоне. Следующее суммирует только B2: B3:

=SUM(INDEX(2:3,0,2))

... и это будет сумма C2: C3

=SUM(INDEX(B2:F3,0,2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...