当数据为表格格式时使用 VLOOKUP

当数据为表格格式时使用 VLOOKUP

在此处输入图片描述

我想使用 Excel 函数查找金额。由于数据库有多个列,所以似乎无法使用 VLOOKUP。我尝试在线搜索,但徒劳无功,因为我无法在 Google 搜索中提出我的问题。

有人可以建议一个可以在这种情况下使用的 Excel 公式吗?

答案1

没问题;VLOOKUP()可以处理。

在您的示例屏幕截图中,我假设“基础数据”位于单元格中A1。如果是这样,则可以将以下公式放入单元格中D13,该单元格是第一个包含“??”的单元格:

=VLOOKUP(A14,$A$3:$E$8,VALUE(SUBSTITUTE(B14,"Location ",""))+1,FALSE)

这些论点的论点如下:

  1. A14是您要匹配的单元格;在本例中它是“102”。
  2. $A$3:$E$8是您要尝试匹配的块;在将公式复制到其他单元格时,您需要美元符号来使其成为静态的。
  3. VALUE(SUBSTITUTE(B14,"Location ",""))+1将单元格B14从“位置 2”变为数字 2,然后将它加 1(必须加 1,因为第 1 列将是帐户代码列,第 2 列是位置 1,第 3 列是位置 2,等等)。
  4. FALSE强制精确匹配。

答案2

Joe DeRose 的解决方案巧妙地利用了 SUBSTITUTE 函数来充分利用示例中的标签。如果您将这些标签用作通用示例,而它们实际上是其他东西,那么 SUBSTITUTE 在这种情况下将无济于事。适用于任何标签的更通用的方法是使用 MATCH 函数(公式的其余部分将保持不变)。在示例中识别单元格很容易让人眼花缭乱。我的计算是表格位于 A3:G8,第一个查找示例位于 A13:C13,因此我将在下面的公式中使用它:

    =VLOOKUP(A13,$A$3:$G$8,MATCH(B13,$A$2:$G$2,0),FALSE)

MATCH 返回标题行 B13 中值的位置,即用于 VLOOKUP 选择的列号。零的作用与 VLOOKUP 中的 FALSE 相同(执行精确匹配)。与 Joe DeRose 的答案一样,单元格引用在必要时被锁定($s),因此您可以在 C13 中输入公式,然后根据需要将其复制到列中。

如果您的查找列表将在页面下方扩展,您可以发挥想象力,在 C 列中预先填充比您需要的更多的单元格,然后隐藏它们,直到使用它们为止。使用 ISBLANK 函数添加测试:

    =IF(ISBLANK(A13,"",VLOOKUP(A13,$A$3:$G$8,MATCH(B13,$A$2:$G$2,0),FALSE))

这将检查 A13 是否为空,如果为空则返回空值(空白单元格)。否则将使用上面的公式。您可以将其复制到 C 列,用于任意大小的单元格。这些单元格将保持空白,直到您输入查找值。

相关内容