各位亲爱的小伙伴们,大家好!
今天和大家聊聊Excel中的数组公式。
随着Office版本的升级,这10个公式已经不能用“常用”两个字来描述了,同样的问题在今天的Office 2021,M365和WPS中,这些问题会变得很简单,但还是看到有不少粉丝使用的是Office 2019或更早的版本,所以我觉得还是有必要花点时间,把这些我曾经用过的数组公式分享给大家。
如果您现在使用的是Office 2021,M365或WPS,我会在后面的分享中和大家交流新版本函数的强大功能。
所以,本文不抬杠,也不抬杠杠哈!
如果你是位00后,上手就是Office 2021,M365或WPS,那么估计你不知道Ctrl+Shift+Enter这回事了,就像开车一样,上来就是自动挡,左脚也没有踩过离合器,更没有踩过两脚离合器了哈。
在Office 2019以及之前的版本,输入数组公式需要按Ctrl+Shift+Enter三键,否则公式计算结果会出现错误值。
在编辑栏看到的公式:{=SUM(ROW(1:100))}
注意哈,公式两边的大括号是按Ctrl+Shift+Enter三键自动生成的,不是手工输入的哦。
虽然现在Office 2021,M365或WPS数组公式不需要按Ctrl+Shift+Enter三键结束,但写公式数组的思路还是需要熟练掌握的。
好了,我们来看实例。
01 对1~100的数字求和
=SUM(ROW(1:100))

02 数组乘积求和
=SUM(B2:B7*C2:C7)

03 不重复计数
=SUM(1/COUNTIF(A2:A11,A2:A11))

04 转置单元格区域
=TRANSPOSE(A1:D3)

05 数据转换求和
=SUM(--SUBSTITUTE(B2:B7,"kg",))

06 一对多查询
=INDEX(B:B,SMALL(IF(A$2:A$9=D$2,ROW($2:$9),4^8),ROW(A1)))&""

07 提取不重复
=INDEX(A:A,SMALL(IF(MATCH(A$2:A$11,A$2:A$11,)=ROW($1:$10),ROW($2:$11),4^8),ROW(A1)))&""

08 按成绩降序排序
=INDEX(A$2:A$9,MATCH(LARGE($B$2:$B$9+1-ROW($1:$8)/10,ROW(A1)),$B$2:$B$9+1-ROW($1:$8)/10,0))

09 合并单元格条件求和
=SUM((LOOKUP(ROW(2:9),IF(A2:A9<>"",ROW(2:9)),A2:A9)=E2)*C2:C9)

10 混合文本数字求和
=SUM(--(0&TEXT(MID(TEXT(MID(SUBSTITUTE(B2,"元",REPT(" ",9)),ROW($1:$99),9),),2,9),"0.00;;;")))
