掌握 Filter、Vstack、Hstack 和 Xlookup 函数的高效用法

#数字表格

Excel 作为一款强大的数据分析工具,不断引入新函数以提升用户的使用体验。Excel 推出了 Filter、Vstack、Hstack 和 Xlookup 等新函数,这些函数不仅简化了数据处理流程,还解锁了更多高级功能。本文将详细介绍这些函数的用法、适用场景以及它们带来的改进。

一、Filter 函数:灵活筛选数据

(一)基本用法

Filter 函数用于根据条件筛选数据。其语法如下:

=FILTER(array, include, [if_empty])

  • array:要筛选的数据范围。
  • include:一个布尔数组,指定哪些行符合条件。
  • if_empty:可选参数,当没有匹配项时返回的值。

(二)适用场景

假设有一个表,A列是学生姓名,B列是分数,C列是班级

正向查找:筛选出符合条件的数据。例如,从学生成绩表中筛选出某个学生的分数。这个公式会返回所有姓名为“张三”的学生的分数,如果没有找到则返回“未找到”。

=FILTER(C2:C10, A2:A10="张三", "未找到")

反向查找:与 VLOOKUP 不同,Filter 函数可以反向查找。这个公式会返回分数为 85 的学生姓名。

=FILTER(A2:A10, C2:C10=85)

一对多查询:筛选出多个符合条件的记录。这个公式会返回所有班级为“一班”的学生姓名。

=FILTER(A2:A10, B2:B10="一班")

与传统的 VLOOKUP 函数相比,Filter 函数支持一对多查询,且无需复杂的辅助列和公式组合,大大简化了操作。

二、Vstack 函数:垂直堆叠数据

(一)基本用法

Vstack 函数用于将多个数组或单元格区域垂直堆叠。其语法如下:

=VSTACK(array1, [array2], ...)

  • array1:第一个要堆叠的数组或单元格区域。
  • array2:后续要堆叠的数组或单元格区域。

(二)适用场景

合并多个表格数据:将多个表格的数据垂直合并。

假设你有两个表格,分别存储了不同月份的销售数据:A列都是产品名称,B列都是销量。

将两个表格的数据垂直合并。这个公式会将表1和表2中的数据垂直合并。

=VSTACK(表1!A1:B3, 表2!A1:B3)

多表汇总求和:对多个表格中的数据进行汇总求和。

假设你有两个表格,分别存储了不同部门的员工名单和工资:A列都是姓名,B列都是工资。

对两个表格中的数据进行汇总求和。这个公式会汇总表1和表2中符合条件的“张三”的工资。

=SUMPRODUCT((VSTACK(表1!A2:A3, 表2!A2:A3)=G2) * (VSTACK(表1!B2:B3, 表2!B2:B3)))

多表数据去重:从多个表格中提取不重复的数据。这个公式会返回表1和表2中不重复的员工名单。

=UNIQUE(VSTACK(表1!A2:A3, 表2!A2:A3))

Vstack 函数简化了多表数据的合并操作,无需手动复制粘贴或编写复杂的公式。此外,它支持动态数组,能够自动更新数据。

三、Hstack 函数:水平堆叠数据

(一)基本用法

Hstack 函数用于将多个数组或单元格区域水平堆叠。其语法如下:

=HSTACK(array1, [array2], ...)

  • array1:第一个要堆叠的数组或单元格区域。
  • array2:后续要堆叠的数组或单元格区域。

(二)适用场景

设你的表里有两个区域,分别存储了不同类型的数据:A列是文本,B列是数字。

合并多个范围:将多个范围水平合并。

将 A1:A3 和 B1:B3 的数据水平合并。这个公式会将 A1:A3 和 B1:B3 的数据水平合并。

=HSTACK(A1:A3, B1:B3)

合并不同类型的数据:可以合并文本和数字。

将包含文本的 A1:A3 范围和包含数字的 B1:B3 范围水平合并。这个公式会将包含文本的 A1:A3 范围和包含数字的 B1:B3 范围水平合并。

=HSTACK(A1:A3, B1:B3)

Hstack 函数简化了水平数据的合并操作,支持动态数组,能够自动更新数据。它特别适用于需要将多个列的数据合并为一个新数组的场景。

四、Xlookup 函数:强大的查找功能

(一)基本用法

Xlookup 函数用于查找特定值,并返回相关联的数据。其语法如下:

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

  • lookup_value:要查找的值。
  • lookup_array:查找值所在的数组。
  • return_array:返回值所在的数组。
  • if_not_found:可选参数,当未找到匹配项时返回的值。
  • match_mode:可选参数,指定匹配模式。
  • search_mode:可选参数,指定搜索模式。

(二)适用场景

多条件查找:根据多个条件查找数据。

假设你有一个员工信息表:A列是姓名,B列是部门,C列是学历。

根据部门和姓名查找学历。这个公式会根据部门和姓名查找学历。

=XLOOKUP("财务部"&"张三", A2:A10&B2:B10, C2:C10, "未找到")

从后向前查找:与传统的 VLOOKUP 不同,Xlookup 支持从后向前查找。

假设你有一个学生信息表:A列是姓名,B列是分数。

从后向前查找“张三”的姓名。这个公式会从后向前查找“张三”的姓名。

=XLOOKUP("张三", A2:A10, B2:B10, "未找到", -1)

Xlookup 函数比传统的 VLOOKUP 函数更强大,支持多条件查找、从后向前查找,并且返回值更灵活。它还提供了更多的匹配模式和搜索模式,能够满足更复杂的查找需求。