体验 Excel 高阶函数的魅力,不用数组公式就完成去重、转置罗列

关于数据表转置成二维表,且不要聚合的案例,今天解答继续 。这次教公式解法 , 带大家领略一下高阶函数的魅力 。


很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握 。不少同学都希望有一套完整的图文教学 , 从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点 。
现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手 。

案例:



将下图 1 的数据表按菜品转置成二维表,每个菜品下的数量纵向列出,不要加总 。


效果如下图 2 所示 。
体验 Excel 高阶函数的魅力,不用数组公式就完成去重、转置罗列

体验 Excel 高阶函数的魅力,不用数组公式就完成去重、转置罗列



解决方案:

1. 在 D1 单元格中输入以下公式:
=TRANSPOSE(UNIQUE(A2:A21))


公式释义:
  • UNIQUE(A2:A21):
    • UNIQUE 是个 O365 函数,作用是返回列表或范围中的一系列唯一值;
    • UNIQUE 的参数为 UNIQUE (要查询的区域 , [返回列还是行的唯一值,默认情况下是按行] , [返回区域内仅出现过一次的值,默认情况下不启用该选项]);
    • 这段公式最终会将 A 列的菜品去重,输出一列唯一值;
    • O365 函数会自动生成动态数组区域 , 因此不需要拖动公式,就能自动生成结果区域;
  • TRANSPOSE(...):将上述结果转置 , 变成按行显示

体验 Excel 高阶函数的魅力,不用数组公式就完成去重、转置罗列

体验 Excel 高阶函数的魅力,不用数组公式就完成去重、转置罗列



2. 在 D2 单元格中输入以下公式 --> 向右拖动 D2 单元格复制公式:
=FILTER($B$2:$B$21,$A$2:$A$21=D1)


公式释义:
  • FILTER 函数的作用是基于定义的条件筛选数据;
  • 语法为 FILTER(要筛选的数组或区域,高度或宽度与数组相同的布尔值数组,[为空时返回的值]);
  • 本案例公式表示如果 A 列的菜品与 D1 标题相同,则筛选出 B 对应区域中的值

体验 Excel 高阶函数的魅力,不用数组公式就完成去重、转置罗列

体验 Excel 高阶函数的魅力,不用数组公式就完成去重、转置罗列

体验 Excel 高阶函数的魅力,不用数组公式就完成去重、转置罗列



【体验 Excel 高阶函数的魅力,不用数组公式就完成去重、转置罗列】3. 将原数据表的格式用格式刷复制过来 。
体验 Excel 高阶函数的魅力,不用数组公式就完成去重、转置罗列

相关经验推荐