检查字符串是否包含数字

时间:2019-08-06 07:34:24

标签: excel

我有一个很大的地址文件,其中一栏是街道+门牌号码。 我想检查有多少个没有 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

3 个答案:

答案 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。

enter image description here

答案 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>)