今天遇到这样一个求和案例,只是数据有些复杂,给求和工作带来了不小的困难,我们看看最终是如何突破解决的吧。
A列是数据源,是由序号、项目名称,加号及分数组成,现在我们想要将A列单元格内所有+号后面的数字相加求和,比如A2单元格的分数为5+3=8分。
先使用一个Office365版本和金山WPS最新版本新增的一个强大的拆分函数TEXTSPLIT函数。
=TEXTSPLIT (需要拆分的文本,列分隔符,[行分隔符],[是否忽略空单元格],[是否区分大小写],[出错时填充的值])
本例使用TEXTSPLIT函数用列分隔符“+”进行拆分到多列显示的操作,同时使用行分隔符“;”进行拆分到多行显示的操作,就可以形成一个两行两列的数组,一列表示序列及项目,一列显示对应的分数。
接下来我们要提取出来第2列的分数。要使用INDEX函数。=INDEX(TEXTSPLIT(A2,"+",";"),,2)
INDEX函数可以返回指定单元格或单元格数组的值,也可以返回对指定单元格的引用。很明显我们想要返回的是单元格数组的值。
=INDEX(数组或区域, 行号, 列号)
如果数组只包含一行或一列, 则相应的行号或列号是可选的。
如果数组具有多行和多列, 并且仅使用行号或列号, 则INDEX函数返回数组中整个行或列的数组。
本例我们使用INDEX函数返回TEXTSPLIT函数得到的两行两列数组的第2列(省略了第2参数行号),得到所有分数的数组结果。
由于TEXTSPLIT函数拆分出来的是文本,所以我们需要处理一下,在公式前面加上两个“-”,可以转化为数值,以便于后续的运算:=--INDEX(TEXTSPLIT(A2,"+",";"),,2)
=SUM(--INDEX(TEXTSPLIT(A2,"+",";"),,2))
回顾关键内容,善用图片表达,学会建立联系,拓展深度广度,浓缩关键概念,应用到行动中,善于归纳总结,尝试进行分享。