小赖同学吧 关注:25贴子:151
  • 0回复贴,共1

问题:文本字符串条件求和 有数字按数字,没数字按1求和

只看楼主收藏回复


问题:文本字符串条件求和
有数字按数字,没数字按1求和
解:
需要求和白色数据的数量
目前数据多行数据,而且一个单元格内有多个白色
那我们就先把多个内容合并成一个,然后在拆分成单个数据
=TEXTJOIN("+",1,B2:B16)
白色14+黑色+红色+白色+小米+......
还有个问题,部分白色后面没有数字
我们需要查找"小米+"替换成"小米1+",这样没有数字的数据,就用数字1了
需要文本最后加上+,保证最后白色也能替换白色1
=SUBSTITUTE(TEXTJOIN("+",1,$B$2:$B$16)&"+",D4&"+",D4&"1+")
白色14+黑色+红色+白色1+小米+.....
得到这样的字符,在按+拆分
=TEXTSPLIT(SUBSTITUTE(TEXTJOIN("+",1,$B$2:$B$16)&"+",D4&"+",D4&"1+"),"+")
{"白色14","黑色","红色","白色1","小米",......}
得到单独数据后,我们要统计白色数量的话
替换掉白色文字,剩下的就是有效数字
=SUBSTITUTE(TEXTSPLIT(SUBSTITUTE(TEXTJOIN("+",1,$B$2:$B$16)&"+",D4&"+",D4&"1+"),"+"),D4,"")
{"14","黑色","红色","1","小米","红米","11","黑色13",.....}
再看这个数据,原来白色的就只剩下纯文本数字了
在--运算,文本数字变真数字,带文本的数据会报错,在iferror再求和
=SUM(IFERROR(--SUBSTITUTE(TEXTSPLIT(SUBSTITUTE(TEXTJOIN("+",1,$B$2:$B$16)&"+",D4&"+",D4&"1+"),"+"),D4,""),0))
部分版本需要按shift+Ctrl+回车


IP属地:广东1楼2024-02-28 18:44回复