Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel:在包含字符串和计数发生率的单元格范围中查找字母_Excel_Countif - Fatal编程技术网

Excel:在包含字符串和计数发生率的单元格范围中查找字母

Excel:在包含字符串和计数发生率的单元格范围中查找字母,excel,countif,Excel,Countif,我有一个单元格区域A1:A10,包含单个字母或短字符串,如“GEPR”、“GE”等,我想计算每个包含G的单元格。 我试过了 但这会将1写入每行,并且不会输出包含“G”的单元格的总和。此外,如果我想计算另一个字母(例如“e”),我需要在工作表中留出更多空间。是否有一个更方便的函数,如COUNTIF,它只需要为每个leter设置一个单元格?您可以将SUMPRODUCT与FIND一起使用 =SUMPRODUCT(--NOT(ISERROR(FIND("G",$A$1:$A$10)))) 这基本上计算

我有一个单元格区域A1:A10,包含单个字母或短字符串,如“GEPR”、“GE”等,我想计算每个包含G的单元格。 我试过了


但这会将1写入每行,并且不会输出包含“G”的单元格的总和。此外,如果我想计算另一个字母(例如“e”),我需要在工作表中留出更多空间。是否有一个更方便的函数,如
COUNTIF
,它只需要为每个leter设置一个单元格?

您可以将
SUMPRODUCT
FIND
一起使用

=SUMPRODUCT(--NOT(ISERROR(FIND("G",$A$1:$A$10))))

这基本上计算了
A1:A10
中的多少个值,
FIND
函数不会返回错误。

您可以将感兴趣的字母放在第1行(盯着B)和第2行,然后在以下位置复制:

=SUM(IFERROR(IF(FIND(B$1;$A2:$A11);1);0))  

使用Ctrl+Shift+Enter键输入。

假设您不在乎大小写,只需使用带有“通配符”的
COUNTIF
,例如,对于包含“g”的区域中的单元格数

=COUNTIF(A$1:A$10,“*G*”)

如果要使用单元格引用作为标准,例如C2包含“g”,则可以使用此版本:


=COUNTIF(A$1:A$10,“*”&C2&“*”)

非常感谢。这正是我想要的。请你解释一下--NOT做什么好吗?--基本上是说“times-1两次”。这用于将
NOT
返回的布尔值转换为数值(
1
0
)。这是
SUMPRODUCT
在不返回错误的情况下添加值所必需的。很抱歉,我没有得到它。当我删除
--
时,什么也没有发生。你能给我一个这个文档的链接吗?谷歌不了解excel函数NOT或excel meaining--NOT:-)谢谢你的建议,但这似乎对我的LibreOffice不起作用,尽管我激活了正则表达式。我假设你在使用excel,这可能是Excel中最好的方法——我认为Libre Office不支持country中的通配符,至少它能够在带有函数的单元格中使用正则表达式。我尝试了不同的注册。但是没有一个有效。也许这是一个错误。抱歉,但是我在寻找“G”时得到了6,尽管现在只有4个G。我不知道为什么会这样,也许是因为我在使用Libreoffice。
=SUM(IFERROR(IF(FIND(B$1;$A2:$A11);1);0))