【问题标题】:excel - find exact value in a textexcel - 在文本中找到确切的值
【发布时间】:2022-08-19 16:02:00
【问题描述】:

所以我有以下文字:

192.1.2.30,192.1.2.39
192.1.2.32,192.1.2.3

使用这个公式

=COUNTIF(A:A,\"*\"&D1&\"*\") 

这将检查 IP 地址是否在文本中。这是什么问题。这是一个通配符搜索 D1 - D4

192.1.2.30 >> result >> 1 >> CORRECT
192.1.2.39 >> result >> 1 >> CORRECT
192.1.2.3 >> result >> 2 >> **INCORRECT** >> should be 1
192.1.2.32 >> result >> 1 >> CORRECT

192.1.2.3 显示为 2,因为 192.1.2.3 是 192.1.2.30 的一部分。

有没有办法将不正确的 IP 排除为匹配两次?

  • 尝试使用 find()
  • 您可以匹配 Exact() exceljet.net/excel-functions/…
  • 你的excel版本是多少?
  • 你可以在 A 列中有重复项吗?如果问题真的是“D 列中的字符串是否在 A 列中至少出现一次”,则答案会更简单。
  • @solar Mike - find 不计算

标签: excel


【解决方案1】:

如果您的版本支持TEXTJOIN(),那么可以尝试-

=SUM(--(FILTERXML("<t><s>"&SUBSTITUTE(TEXTJOIN("</s><s>",TRUE,$A$1:$A$10),",","</s><s>")&"</s></t>","//s")=C1))

【讨论】:

  • 抱歉不支持文字加入
【解决方案2】:

=COUNTIF(A:A,"*"&amp;D1&amp;"*") 计算 D1 为 a 的总行数子串.

你只想得到一个子串 完整的 IP 地址,也就是你需要区分一个完整的IP地址。

您的输入以逗号分隔,因此我们可以利用它。如果它在两个逗号之间,我们确定它是一个 IP。

=COUNTIF(A:A,"*,"&amp;D1&amp;",*")

但是,第一个和最后一个 IP 地址不遵守此规定。我只需在输入的前面和结尾添加逗号,以便我们的第一个和最后一个 IP 通过以下方式保持一致:

=","&amp;A1&amp;","

【讨论】:

    猜你喜欢
    • 2021-02-16
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    相关资源
    最近更新 更多