📜  使用 arrayformula 进行 vlookup (1)

📅  最后修改于: 2023-12-03 15:06:45.177000             🧑  作者: Mango

使用 ARRAYFORMULA 进行 VLOOKUP

在处理数据时,我们通常使用 VLOOKUP 函数来查找值,但该函数返回的只有单个值,无法一次性查找整个数据范围。而 ARRAYFORMULA 函数可以生成一个数组,将某个函数应用于该数组的每个元素。通过将 VLOOKUP 函数与 ARRAYFORMULA 函数结合使用,我们可以一次性地查找整个数据范围,而不是每个单元格逐个查找。

语法

ARRAYFORMULA(VLOOKUP(search_key, range, index, [is_sorted]))

  • search_key:要查找的键值
  • range:要在其中查找值的数据范围
  • index:返回的值所在的列号(从左侧开始计数)
  • is_sorted:指定 range 中的值是否已按升序排序,默认为 TRUE。如果不需要进行排序,则应将此参数设置为 FALSE
示例

假设我们有以下的数据表:

| 姓名 | 语文成绩 | 数学成绩 | 英语成绩 | | ------ | -------- | -------- | -------- | | 张三 | 89 | 95 | 92 | | 李四 | 78 | 88 | 81 | | 王五 | 92 | 80 | 90 |

我们希望在另一个表格中查找每个学生的语文成绩。我们可以使用以下公式:

`=ARRAYFORMULA(VLOOKUP(A2:A4,Sheet1!A2:D,2,FALSE))`

这个公式将 A2:A4 中的值作为搜索键值,将 Sheet1!A2:D 的整个数据范围作为搜索范围,将 2 指定为要返回的值的列号,并将 FALSE 用于指示不进行排序。该公式产生以下结果:

| 姓名 | 语文成绩 | | ---- | -------- | | 张三 | 89 | | 李四 | 78 | | 王五 | 92 |

公式被应用到整个列 B,因此我们不必为每个单元格逐个应用 VLOOKUP 函数。