如何search以特定格式编写的范围内的数字?

我正在尝试编写一个Excel公式,用于测量1000到9999之间的数字以0,000格式写入文本的次数。 (这是用来从我们的网站上读取旧内容,并衡量有多less页面不符合一个新的风格指南。)这是我到目前为止:

=count(search(text(1000,"0,000"),G17)) 

如果内容中的文本是1,000,则该公式起作用,但显然,如果文本是1,001,则该公式起作用。

我不知道如何进入这个范围。我认为它应该去1000的地方,但我没有尝试的工作。

有谁知道如何做到这一点?

如果G列中的基于文本的数字值介于0和999,999之间,那么这应该返回所有基于文本的数字的计数,如果数字实际上是数字,则该数字的数字值在1000和9999之间。

 =SUMPRODUCT(COUNTIF(G:G, {"1,*","2,*","3,*","4,*","5,*","6,*","7,*","8,*","9,*"})) 

另一种方法是1,000到9,999之间的任何一个长度都是5。

 =SUMPRODUCT(--(LEN(G:G)=5)) 

如果将以下代码添加到VBA编辑器中的新“模块”,您将有权访问它作为工作表函数。

我没有testing过这么多,但是对于我的例子来说它是有效的。

 Public Function RESearch(SourceText) As Integer Dim REO As Object: Set REO = CreateObject("VBScript.RegExp") REO.Pattern = "(\d{1},\d{3})" REO.Global = True REO.IgnoreCase = False REO.MultiLine = True Dim Matches As Variant Set Matches = REO.Execute(SourceText) RESearch = Matches.Count Set REO = Nothing End Function 

这将添加一个函数“RESearch”到工作簿,并且应该返回匹配模式的所有数字的计数。

尝试这个:

 =COUNTIF(G:G,"?,???")