如何通过用户定义的标题名称获取单元格值

时间:2019-05-15 16:50:32

标签: excel excel-formula

我有一个像这样的excel表

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

是否可以通过客户标头而不是A2,B2获取值? 我希望能够像这样获取值

=FARM1DOG

有可能这样做吗?

2 个答案:

答案 0 :(得分:2)

您所描述的内容可以通过几种方法完成。我更喜欢index(match(...

假设上面的表格位于电子表格的左上角,并继续使用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 :(得分:1)

在假设数据较小的情况下,您还可以手动命名范围:

  1. 选择要命名的单元格
  2. 公式->定义名称[ CTRL + SHIFT + F3 ]
  3. 随心所欲

现在,您可以使用给定名称引用该单元格:

enter image description here


编辑:

或者,您也可以只命名标题,并通过=OFFSET进行引用。

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

在一个实际例子中

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

enter image description here

相关问题