我有一个很大的地址文件,其中一栏是街道+门牌号码。 我想检查有多少个没有 housenumber 的地址。
所以实际上我只是想检查单元格中是否包含数字
我尝试了很多事情,
=COUNTIF(A1:A500;{0,1,2,3,4,5,6,7,8,9})
=COUNTIF(A1:A500;"*>0*")
但似乎没有任何作用
Streetname 5 should return TRUE
5 Streetname should return TRUE
Streetname five should return FALSE
Streetname should return FALSE
答案 0 :(得分:3)
尝试一下
Json.parse(YOUR_JSON).validate[PQ] match {
case JsSuccess(pq, _) => println(pq)
case JSError(errors) => println(s"Handle exception $other")
}
您需要单独检查每个单元格。使用大括号会生成一个数组,因此,如果找到任何数字,则FIND返回一个数字,而COUNT则增加1。
如果未找到数字,则COUNT返回0,并且公式显示为FALSE。
答案 1 :(得分:0)
在我看来,做到这一点最干净的方法是使用正则表达式。使用以下功能将VBA模块添加到工作簿中:
Public Function rxTest(inputString As String, pattern As String) As Boolean
Dim r As New RegExp
r.pattern = pattern
rxTest = r.Test(inputString)
End Function
(您将需要添加对Microsoft VBScript Regular Expressions
的引用)。然后,以下公式将为每个单元格执行所需的操作,并且可以计算TRUE
个单元格的数量:
= rxTest(A1,"\d")
答案 2 :(得分:0)
您与COUNTIF
函数非常接近。但是,由于您的函数包含一个数组常量,它将返回一个值数组。
要检查有多少个没有门牌号的地址:
=COUNTA(A1:A100)-SUM(N(COUNTIF(A1:A100,"*" &{0,1,2,3,4,5,6,7,8,9}&"*")>0))
要根据单个单元格的内容返回TRUE/FALSE
,可以使用以下公式:
=OR(COUNTIF(A1,"*" &{0,1,2,3,4,5,6,7,8,9}&"*")>0)
正如对另一个问题的注释中指出的那样,注意,这只会检测字符串中是否有数字。它不会区分街道名称中包含数字(例如, 5th Ave )的字符串和包含地址数字的字符串。它也不会检测到拼写出地址号码的地址(例如杜鲁里大街一号(em>))