Excel 表格查找

Excel 表格查找

我正在尝试根据行和列标题(粗体)在表中查找值。

例如我有一张表:

桌子

答案1

INDEX 和 MATCH 组合将解决该问题:

在此处输入图片描述

怎么运行的:

  • 数据范围是A2:D7
  • 标准单元格是G2& H2
  • 公式H3

=INDEX($B$3:$D$7,MATCH($H$2,$A$3:$A$7,1),MATCH($G$2,$B$2:$D$2,1))

  • 一旦您在条件单元格中输入新的行和列标题,您就会得到新的答案H3

根据需要调整公式中的单元格引用。

答案2

尝试乘积和功能:

=SUMPRODUCT(($F$1=$B$1:$D$1)*($G$1=$A$2:$A$6),$B$2:$D$6)

F1 和 G1 输入行或列值,F2 返回您需要的结果。

在此处输入图片描述

答案3

一位同事针对 UserVoice 网站上的建议提出了一种解决方法。我认为它适用于您要询问的一般情况。(与使用上述结果表相反,只需使用它来将数据提取到某个奇怪的位置或更大的公式中。)

他在列标题行上使用 MATCH() 函数来获取 VLOOKUP() 中的第三个参数:

=VLOOKUP("43",B2:D6,MATCH("71",B1:D1),FALSE)    (returns "41.2")

(对于“43”,可以用任何形式来替代获取所需的查找值。像这样简单,或者像 H9 一样查找单个单元格,或者可能使用一些相当复杂的公式来获取查找值。对于“71”,想法相同,您可以通过多种方式获取所需的列,当然,这里的想法是使用它的实际标题标签。

因此,如果您正在查看单元格 H9 的内容以查找值并查看单元格 J23 以查找要从中返回值的列,它将看起来像这样:

=VLOOKUPH9,B2:D6,MATCH(J23,B1:D1),FALSE)

如果分别填充“43”和“71”,则会返回与上面相同的“41.2”。

表格可以从任意列开始,因为 MATCH() 仅查看其列标题范围,因此即使第四列从“AM”列开始,它也始终是第四列。(您确实需要从第一列(在本例中为“A”)开始 MATCH() 范围,而不是从您给出的表格中标签开始的第二列开始。

当然,同样的想法也适用于 HLOOKUP() 和行标签。

相关内容