在Excel函数体系中,SCAN函数是被低估的实用工具。它能够按顺序逐一处理数据,并输出结果,轻松应对复杂数据处理任务。掌握SCAN函数用法,可与REDUCE函数互补,显著提升数据处理灵活性。
一、函数解析
SCAN函数作为LAMBDA的辅助函数,其语法和REDUCE函数类似:
=SCAN([初始值],数据区域,lambda(x,y,计算式))
区别在于:REDUCE只返回最终计算结果,而SCAN会把每一步的计算结果都列出来。

二、与REDUCE函数的差异
两者参数结构完全相同,但核心作用不同:
- REDUCE函数通过循环计算最终输出单一结果,适用于汇总统计;
- SCAN函数则保留每轮计算痕迹,输出数组长度与原数据区域一致,更适合分步追踪和可视化展示。
三、实战案例
1.平方和分步计算:公式=SCAN(0,C2:C5,LAMBDA(x,y,y*y+x)),从初始值0开始,逐步累加每个数值的平方,清晰呈现计算过程。

2.阶梯图快速制作:借助=SCAN("",B2:B5,LAMBDA(x,y,REPT("|",y*200)&""&TEXT(y,"0%"))),结合Playbill字体,将百分比数据转化为直观阶梯图(需先升序排序数据)。
3.最大连续次数统计:用=MAX(SCAN(0,B2:B15,LAMBDA(x,y,IF(y="胜",x+1,0)))),自动重置失败计数,精准抓取最长连胜记录。
4.合并单元格拆分汇总:通过SCAN(,A2:A11,LAMBDA(x,y,IF(y<>"",y,x)))拆分合并单元格,搭配GROUPBY求和/计数,再用VSTACK添加表头,高效完成分类汇总。

四、结语
尽管SCAN函数的应用场景不及REDUCE广泛,但在分步数据追踪、可视化展示和复杂单元格处理中,其独特的输出特性能发挥不可替代的作用。掌握SCAN函数,可进一步丰富Excel数据处理工具箱,提升办公效率。
评论 (0)