Excel:按范围内的单元格计算多个字符

问题描述 投票:0回答:3

我的范围是A:A,因为记录数量发生了变化。该范围在每个单元格中包含“ x”,对应于该时间完成了多少个项目。因此,可以将单个单元格输入为“ x”,“ xxx”或“ x x x”。为此,我需要出现“ x”或“ X”的次数。

我当前的公式是=COUNTIFS(A:A,"x*",I:I,"Weekly*")我尝试更改此公式,但由于某些单元格包含多个“ x”,因此无法获得正确的结果。谢谢。

excel range countif
3个回答
0
投票

我使用了帮助列。修改并尝试以下操作:

助手列中的公式:

=LEN(A2)-LEN(SUBSTITUTE(UPPER(A2),"X",""))

公式求和:

=SUMIF($B$2:$B$8,"Weekly*",$C$2:$C$8)

enter image description here


0
投票
=SUM(LEN(A:A)-LEN(SUBSTITUTE(SUBSTITUTE(A:A,"x",""),"X","")))

用空白值替换xX,然后计算并求和。根据您的excel版本,您可能需要使用CTRL + SHIFT + ENTER

确认公式

0
投票

假设列A 包含“ X”,并且没有其他数据,那么最简单的方法-如果您有Office-365或Office-2019使用Concat将列成1个巨大的字符串,然后计算长度:

=LEN(CONCAT(A:A))

如果您没有具有Office-365或Office-2019,则不能使用Concat函数-这样,您将需要使用数组公式来添加长度:

=SUMPRODUCT(LEN(A:A))

(使用SUMPRODUCT而不是SUM表示我们可以按Enter作为常规公式,并且SUMPRODUCT内部的所有内容都被视为数组公式,而不必按Ctrl] > + Shift + Enter

正如BigBen指出的那样,您曾经说过其中有时有空格。您有两种方法可以解决此问题:SUBSTUTUTE消除空格,或SUBSTITUTE消除X并求差

=LEN(SUBSTITUTE(CONCAT(A:A)," ",""))
=SUMPRODUCT(LEN(SUBSTITUTE(A:A," ","")))
'OR
=LEN(CONCAT(A:A)) - LEN(SUBSTITUTE(LOWER(CONCAT(A:A)),"x",""))
=SUMPRODUCT(LEN(A1:A4))-SUMPRODUCT(LEN(SUBSTITUTE(LOWER(A1:A4),"x","")))

([LOWER是必需的,因为SUBSTITUTE区分大小写:=SUBSTITUTE("|XxX|","x")给出|XX|,而不是||

© www.soinside.com 2019 - 2024. All rights reserved.