Excel 如何通过自定义表头名称获取单元格值
我有一个excel表格,像这样Excel 如何通过自定义表头名称获取单元格值,excel,excel-formula,Excel,Excel Formula,我有一个excel表格,像这样 | DOG | CAT | COW | CHICKEN ... ------+-----+------+------+------ FARM1 | 2 | 0 | 4 | 80 ------+-----+------+------+------- FARM2 | 0 | 3 | 12 | 125 ------+-----+------+------+------- ...... 是否可以通过客户标题而不是A2、B
| DOG | CAT | COW | CHICKEN ...
------+-----+------+------+------
FARM1 | 2 | 0 | 4 | 80
------+-----+------+------+-------
FARM2 | 0 | 3 | 12 | 125
------+-----+------+------+-------
......
是否可以通过客户标题而不是A2、B2获取值?
我希望能够像这样获取值
=FARM1DOG
有可能做到这一点吗?您所描述的可以通过几种方式实现。我更喜欢索引(匹配( 假设您的上表位于电子表格的左上角,并继续到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
(它们之间的空格是intersect运算符)假定数据较小,也可以手动命名范围:
编辑: 或者,您也可以仅命名标题并通过
=OFFSET
引用它
=OFFSET(<VERTICAL NAME>,,COLUMN(<HORIZONTAL NAME>) - COLUMN(<VERTICAL NAME>))
如果您能更清楚地了解自己的问题,我们将不胜感激。阅读本文时,您会立即想到的是
Indirect()
用于基于其他条件进行调用,但如何应用取决于更多信息。什么不清楚?您可以使用带有索引/匹配组合的常规公式,但不能编写任意名称,如“FARM1DOG”(除非您定义了所有可能的组合)。您的问题让我感到困惑:“是否可以通过客户标题而不是A2、B2获取值?”。我觉得您在问如何基于Match()进行Index()
)
ing条件间接,例如,我知道它是一只狗,或者我知道它是一只猫,我想知道农场2的值,我们可以这样做……但我不知道你开始用什么数据来做任何假设,只是关于你的输出的一个小想法。也许你想从“2”开始“看看什么有两个项目?这将是无数的事情。有一些索引的变化,但我自己解决。非常感谢!
=OFFSET(farm1,,COLUMN(dog) - COLUMN(farm1))