当前位置: > 热议

Excel中最牛逼的函数,一个顶11个,简直就是百变神君

时间:2022-04-22 21:02:40 热议 我要投稿

没想到要学SUBTOTAL函数的粉丝挺多的,那就来个全面的讲解吧。当了那么多年的配角,今天终于当回主角。

1.汇总行的妙用

选择区域,插入表格,点设计,勾选汇总行。

汇总行,除了可以求和,还可以下拉选择计数,最大值等。

当然,插入表格和勾选汇总行这些步骤也可以省略,直接写公式也行。

求和就用:

=SUBTOTAL(109,D2:D11)

=SUBTOTAL(9,D2:D11)

计数就用:

=SUBTOTAL(103,D2:D11)

=SUBTOTAL(3,D2:D11)

SUBTOTAL一共可以代表11个函数,不过平常用得最多的是计数COUNTA和求和SUM。

2.筛选的时获取连续序号

正常情况下,用ROW、COUNTIF之类获取的序号,只要进行筛选就乱了。而SUBTOTAL刚好能解决这个问题。

=SUBTOTAL(3,B$2:B2)*1

区域采用混合引用,下拉的时候就逐渐变大,从而起到累计的作用。后面*1的作用,是防止最后一行当成汇总,导致筛选的时候出错。不加不一定会错,加了肯定没错。

现在筛选的时候,序号就是连续的,最后一行的汇总也跟着改变数据。

3.对筛选的结果进行条件求和、计数

正常情况下,SUMIFS、COUNTIFS不管有没筛选结果都一样,不能直接对筛选的结果进行判断。

不过可以利用SUBTOTAL可以对可见单元格生成序号。

=SUBTOTAL(3,D2)

现在要求大于200元的班级个数,就可以用这样的公式:

=COUNTIFS(F:F,1,D:D,">200")

对价格进行筛选,统计结果会自动改变。

同理,统计金额大于200元的班级的总金额,就可以这样设置公式。

=SUMIFS(D:D,F:F,1,D:D,">200")

核心点就是利用SUBTOTAL作为辅助列,生成数字1,再根据辅助列作为新的条件进行判断。

4.将筛选的结果合并在一个单元格内

这个跟案例3一样,也是用辅助列生成数字1,再借助这个判断。

输入公式,按Ctrl+Shift+Enter结束。IF部分的作用是让符合F列为1,D列大于200的,返回C列的值,否则返回空,再用TEXTJOIN将内容合并起来。

=TEXTJOIN("、",1,IF((F2:F11=1)*(D2:D11>200),C2:C11,""))

要将SUBTOTAL用好,还得学会很多函数才行。

推荐:VLOOKUP与LOOKUP的1,0详解

上篇:VLOOKUP与LOOKUP的1,0详解(通俗版)

还想知道什么用法?

作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)