Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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/5/date/2.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
用于COUNTIF的Google Sheets模式匹配/RegEx_Regex_Google Sheets_Pattern Matching - Fatal编程技术网

用于COUNTIF的Google Sheets模式匹配/RegEx

用于COUNTIF的Google Sheets模式匹配/RegEx,regex,google-sheets,pattern-matching,Regex,Google Sheets,Pattern Matching,Google Sheets的模式匹配文档没有帮助。我已经阅读和搜索了一段时间,没有找到这个问题。也许我很难找到正确的搜索词,但问题是: 我有几个数字零件号遵循此格式:- 类别可由零件号定义,即50-03将是一个产品类别,其余2位数字特定于一个型号 我一直在尝试运行以下程序: =countif(E9:E13,"50-03[123][012]*") E9:E13包含格式化为文本的零件号。如果我以任何其他方式格式化它,这些值就会显示得一团糟,因为Google Sheets认为我在写日期或试图做算术

Google Sheets的模式匹配文档没有帮助。我已经阅读和搜索了一段时间,没有找到这个问题。也许我很难找到正确的搜索词,但问题是:

我有几个数字零件号遵循此格式:-

类别可由零件号定义,即50-03将是一个产品类别,其余2位数字特定于一个型号

我一直在尝试运行以下程序:

=countif(E9:E13,"50-03[123][012]*")
E9:E13包含格式化为文本的零件号。如果我以任何其他方式格式化它,这些值就会显示得一团糟,因为Google Sheets认为我在写日期或试图做算术

每次返回0,除非我要更改为:

=countif(E9:E13,"50-03*")

所以看起来通配符是有效的,但模式匹配却不行

如您所述,COUNTIF仅支持通配符

但是有很多方法可以做你想做的事情,仅举2个例子

=ArrayFormula(SUM(--REGEXMATCH(E9:E13, "50-03[123][012]*")))

=COUNTA(FILTER(E9:E13, REGEXMATCH(E9:E13, "50-03[123][012]*")))

对于像您这样的问题,这是一个非常大的难题,但您可以使用QUERY执行以下操作:

=查询9:E13,选择计数,其中E匹配“50-03[123][012]”标签计数 标签位用于防止查询向计数列添加自动标题

这种方法的好处在于,您还可以引入其他列。假设在H列中,每个零件都有很多订单。然后,您可以选择两个单元格,并显示零件计数和订单总数:

=查询9:H13,选择countE,sumH,其中E匹配“50-03[123][012]”标签countE,sumH
我经常在$searchEngine上找到这个问题,但没有注意到我链接了一个类似的问题和其他相关的答案。

COUNTIF不支持正则表达式,只支持通配符:。还请注意,这不计算单元格中的多次出现次数。