如图,高考科目选择组合及人数为字符串形式,如何提取出每一科的选择人数并汇总到一起,公式如下:
=LET(x,TEXTSPLIT(CONCAT(B2:B13),,SEQUENCE(10)-1,1),
y,TEXTSPLIT(CONCAT(B2:B13),,x,1),
z,IF(ISNUMBER(FIND($F$1:$K$1,x)),y,0),
MMULT(SEQUENCE(,ROWS(x),,0),--z)
)
函数思路:每个科目组全的字符串有个共同特点就是由科目的第一个字及数字组成,根据这个特点我们将他们合在一起并用textsplit函数进行拆分。
以数字为拆分标志,就可以将科目拆分成很多行,这就是变量x。
变量y是以拆分出来的科目为拆分标志,再次对字符串进行拆分得到数量。
这两个数组长度相等,一一对应。
变量z以f1:k1与科目数组查找为条件,实现为个字符串中数字与科目的一一对应,形成一个二维数组:
最后用mmult函数将数组乘积,得到最终的效果。
textsplit对数组的拆分是一个很重要技巧,同时利用标题的格式对数组进行规整是整个函数公式的亮点。
评论 (0)