【问题标题】:Search a column to find if string is contained in each cell of another column, return third value搜索一列以查找字符串是否包含在另一列的每个单元格中,返回第三个值
【发布时间】:2017-03-10 18:21:20
【问题描述】:

这类似于this question,这让我想解决的问题已经完成了一半。

我有一个这样的电子表格:

  • A 列有 IPv4 地址
  • B 列是我想写我的 结果。
  • C 列是一组可能包含 IPv4 的字符串 其中的地址。
  • D 列包含有关列的附加数据 C.

伪代码/逻辑是这样的:

对于 B 中的每个单元格,如果相邻 A 的文本存在于 C 列的单元格中的任何位置,则从 D 中返回与找到匹配项的 C 直接相邻的文本。

我上面链接的问题允许我找到完全匹配并返回一个值,但它不能帮助我在我正在寻找的匹配位于附加文本中的情况下找到数据。例如,B2 包含:

=INDEX(D:D,MATCH(A2,C:C,0))

我怀疑在将列 C ISNUMBER(SEARCH(substring,text)) 引用到公式时我需要包含,但我还没有使它起作用。

【问题讨论】:

  • 你可以在 vlookup 中使用通配符吗? =vlookup("*"&A2*"*", C:D, 2, false)
  • 我会试一试,没想到。
  • @JNevill 我想我在测试中搞砸了你的样本。我建立了一个我正在尝试做的样本。 What did I do wrong? A2 应该在 C4 上匹配。
  • 你有一个流浪星号。它应该看起来像 "*"&A2&"*" 表示:取一个星号 "*" 并将其 & 连接到 A2,然后将 & 连接到另一个星号 "*"。这将被解释为*192.168.0.24*,它将在C列中搜索
  • @JNevill 成功了。介意回答一下吗?

标签: excel if-statement excel-formula worksheet-function excel-2016


【解决方案1】:

您可以在 vlookup 函数中使用通配符来完成此操作:

=vlookup("*"&A2*"*", C:D, 2, false) 

也就是说:取一个星号 "*" 并将其连接到 &A2,然后将 & 连接到另一个星号 "*"。这将被解释为*192.168.0.24*,它将在C 列中搜索。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-01
    • 2021-11-22
    • 2015-12-18
    • 2018-05-28
    • 2022-10-01
    • 2020-09-20
    • 1970-01-01
    相关资源
    最近更新 更多