大数跨境
0
0

Excel 2024/365新函数系列讲座(5):VSTACK函数+HSTACK函数综合应用——直接以原始不规范数据统计分析

Excel 2024/365新函数系列讲座(5):VSTACK函数+HSTACK函数综合应用——直接以原始不规范数据统计分析 Excel数据分析之道
2025-07-23
0
今天介绍下面一个案例。
这个例子不复杂,如果使用普通方法,需要设计辅助列,但是,如果将普通函数与新函数结合起来,就可以使用一个公式完成报表。
这个例子如下,要求直接根据左侧的A列至C列数据,制作各个部门总金额。
下面是参考公式:

=LET(

科目名称, B2:B70,

发生额, C2:C70,

部门名称, UNIQUE(MID(FILTER(科目名称, LEFT(科目名称,1)="["), 5, 100)),

金额合计, SUMIF(科目名称, "*" &  部门名称, 发生额),

合并, HSTACK(部门名称, 金额合计),

VSTACK({"部门", "总金额"}, 合并)

)

你看懂这个公式的逻辑思路了吗?
核心就是从B列提取部门名称,这里是通过筛选来处理的。
这个公式中,常规的函数有LEFT,MID,SUMIF,这些是最基本的,也是设计辅助列的核心和汇总计算的核心,如果基本的常规函数都不熟练度话,就麻烦了。

也可以对A列的科目编码来判断,如果A列是空值,B列就是部门。不过要注意,这种判断会产生有空值的数组,需要在公式中进行处理。参考公式如下:

=LET(

科目编码, A2:A70,

科目名称, B2:B70,

发生额, C2:C70,

部门名称, DROP(UNIQUE(IF(科目编码="", MID(科目名称,5,100),"")),1),

金额合计, SUMIF(科目名称,"*" & 部门名称发生额),

合并, HSTACK(部门名称金额合计),

VSTACK( {"部门","总金额"}, 合并)

)

如果是使用常规的方法,则需要设计辅助列,然后再使用SUMIF函数汇总,如下图所示,生成的报表也无法自动化刷新:
辅助列的最简单公式如下:

=IF(A2="",MID(B2,5,100),"")

或者直接数组公式:

=IF(A2:A70="",MID(B2:B70,5,100),"")

------插播广告------
-----------------系列文章目录:----------------
妖孽的时代,如果自己不能成为妖孽,那就利用妖孽吧
Excel 2024/365新函数系列讲座(1):VSTACK函数
Excel 2024/365新函数系列讲座(2):HSTACK函数
Excel 2024/365新函数系列讲座(3):VSTACK函数+HSTACK函数综合应用
Excel 2024/365新函数系列讲座(4):VSTACK函数+HSTACK函数综合应用——非法日期核对表

【声明】内容源于网络
0
0
Excel数据分析之道
全面介绍Excel在企业数据分析中的各种应用,实际案例模板分享,经验心得,帮助个人和企业提升Excel应用能力。
内容 1106
粉丝 0
Excel数据分析之道 全面介绍Excel在企业数据分析中的各种应用,实际案例模板分享,经验心得,帮助个人和企业提升Excel应用能力。
总阅读182
粉丝0
内容1.1k