Как получить значение ячейки через определенное пользователем имя заголовка - PullRequest
1 голос
/ 15 мая 2019

У меня есть таблица Excel, как этот

      | DOG | CAT  | COW  | CHICKEN ...
------+-----+------+------+------
FARM1 |  2  |  0   |   4  |   80
------+-----+------+------+-------
FARM2 |  0  |   3  |   12 | 125
------+-----+------+------+-------
......

Можно ли получить значение через заголовки клиента вместо A2, B2? Я хочу быть в состоянии получить значение, как это

=FARM1DOG

Возможно ли это сделать?

Ответы [ 2 ]

2 голосов
/ 15 мая 2019

То, что вы описываете, может быть сделано несколькими способами. Я бы предпочел индекс (матч (...

Предполагая, что ваша таблица выше находится в верхнем левом углу таблицы и продолжается до J10, вы можете использовать:

=INDEX($B$2:$J$10,MATCH("FARM1",$A$2:$A$10,0),MATCH("DOG",$B$1:$J$1,0))

С другой стороны, вы могли бы сделать это и с именованными диапазонами, но имена должны были бы быть изменены, если изменились заголовки столбцов. Просто назовите каждый столбец после заголовка. Так что выберите столбец B и создайте имя для диапазона с именем «Dog», затем то же самое для всех остальных столбцов. Затем для строк имя строки 2 "Farm1", и т. Д.

Тогда вы можете использовать:

=FARM1 DOG

(пробел между ними - оператор пересечения)

1 голос
/ 15 мая 2019

При условии, что ваши данные невелики, вы также можете назвать диапазон вручную:

  1. Выберите ячейку, которую хотите назвать
  2. Формулы -> Определить имя [ CTRL + SHIFT + F3 ]
  3. Называй как хочешь

Теперь вы можете ссылаться на ячейку по заданному имени:

enter image description here


EDIT:

В качестве альтернативы, вы также можете назвать только заголовки и обращаться к ним через =OFFSET.

=OFFSET(<VERTICAL NAME>,,COLUMN(<HORIZONTAL NAME>) - COLUMN(<VERTICAL NAME>))

В практическом примере

=OFFSET(farm1,,COLUMN(dog) - COLUMN(farm1))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...