Excelsearch一个string,并在单元格中有多less个字符
我在Excel中有一个包含位置的列表,但有些单元格有多个由“_”字符分隔的位置,例如“_ Location1 _ Location 2”当只有一个位置时,我可以使用Sumif来searchstring,单元格如图所示
我的问题不是search一个string,而是在列表中search一个字符,并find有多less在它发现的单元格中,我将添加公式在一个不同的单元格,然后上面显示的
示例公式NOT REAL
=sum(Sumif($A$4:$A$250,"* ~ Location1*",$C$4:$C$250)/Search($A$4:$A$250," ~ "))
我知道search这样的工作,但作为一个例子代码这是我想象的
find每个位置的总和使用这个数组公式:
=SUMPRODUCT((ISNUMBER(SEARCH(D4,$A$4:$A$9)))*($C$4:$C$9/(IF(ISNUMBER(FIND("_",$A$4:$A$9)),LEN($A$4:$A$9)-LEN(SUBSTITUTE($A$4:$A$9,"_","")),1))))
作为一个数组公式需要使用Ctrl-Shift-Enter确认。 如果正确完成,则Excel将在公式周围放置{}
。
在E4中input公式,按Ctrl-Shift-Enter,然后复制/填写。
然后得到所有的总和简单地总结上面的行。
用正则expression式来做:
您将需要一个帮助者列与以下公式:
=C4/(IF(ISNUMBER(FIND("_",A4)),LEN(A4)-LEN(SUBSTITUTE(A4,"_","")),1))
我把它放在G列
那么我们可以使用一个简单的SUMIF():
=SUMIF(A:A,"*" & D4 & "*",G:G)