如何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,"?,???")