关于数据表转置成二维表,且不要聚合的案例,今天解答继续。这次教公式解法,带大家领略一下高阶函数的魅力。
很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。
现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。
案例:将下图 1 的数据表按菜品转置成二维表,每个菜品下的数量纵向列出,不要加总。
效果如下图 2 所示。
解决方案:
1. 在 D1 单元格中输入以下公式:
=TRANSPOSE(UNIQUE(A2:A21))
公式释义:
- UNIQUE(A2:A21):
- UNIQUE 是个 O365 函数,作用是返回列表或范围中的一系列唯一值;
- UNIQUE 的参数为 UNIQUE (要查询的区域,[返回列还是行的唯一值,默认情况下是按行],[返回区域内仅出现过一次的值,默认情况下不启用该选项]);
- 这段公式最终会将 A 列的菜品去重,输出一列唯一值;
- O365 函数会自动生成动态数组区域,因此不需要拖动公式,就能自动生成结果区域;
- TRANSPOSE(...):将上述结果转置,变成按行显示
2. 在 D2 单元格中输入以下公式 --> 向右拖动 D2 单元格复制公式:
=FILTER($B$2:$B$21,$A$2:$A$21=D1)
公式释义:
- FILTER 函数的作用是基于定义的条件筛选数据;
- 语法为 FILTER(要筛选的数组或区域,高度或宽度与数组相同的布尔值数组,[为空时返回的值]);
- 本案例公式表示如果 A 列的菜品与 D1 标题相同,则筛选出 B 对应区域中的值
3. 将原数据表的格式用格式刷复制过来。
,