【问题标题】:if cell contains .com or .co.uk - if statement in excel / google spreadsheets如果单元格包含 .com 或 .co.uk - excel / google 电子表格中的 if 语句
【发布时间】:2014-11-07 19:04:10
【问题描述】:

我有一个 url 列表,我试图检查每个单元格的 url 是否包含 .com OR .co.uk 并且如果它确实将文本 TRUE 放入结果单元格,这样我可以过滤结果列以查找所有包含 .com 或 .co.uk 作为 url 顶级域的单元格。

目前我正在尝试使用

=IF(D2=".com","TRUE", "FALSE")

我遇到的问题与第一个参数有关,以检查 url 是否包含.com OR .co.uk,目前它只是检查整个url == .com

【问题讨论】:

    标签: excel if-statement google-sheets


    【解决方案1】:

    你可以使用FIND:

    =OR(ISNUMBER(FIND(".com",A1)),ISNUMBER(FIND(".co.uk",A1)))
    

    使用ISNUMBER 吞下任何#VALUE!错误。

    请注意,FIND 会进行区分大小写的搜索。对于不区分大小写的搜索,请改用SEARCH

    【讨论】:

    • 另一种方法是使用正则表达式匹配。类似于: =ArrayFormula(regexmatch(A2:A12, "(com|co.uk)")) 其中 A2:A12 是要检查的范围。
    • @user3889423,很好,可以在 Google 电子表格中使用。但是FIND 应该可以在这两个应用程序中使用。
    • 我自己不使用excel,这可能是我忽略了标题中“excel”这个词的原因。 ;-) 我也不知道 regexmatch 在 excel 中是如何工作的。但是..好点!并感谢您指出这一点。
    • @user3889423,不幸的是,Excel 没有用于执行正则表达式的内置函数。如果这样做,很多 VBA 代码将变得不必要。
    【解决方案2】:

    您也可以使用带有一个或“|”的regexextract给它两种变化:

    =if(isna(REGEXEXTRACT(A1,"\.com|\.co\.uk")),,true)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-21
      相关资源
      最近更新 更多