【问题标题】:EXCEL: How can I check for a keyword in a string, compare it to a range and return the corresponding value in that range?EXCEL:如何检查字符串中的关键字,将其与范围进行比较并返回该范围内的相应值?
【发布时间】:2019-10-07 15:39:46
【问题描述】:

我需要对数据进行分类:我有一列包含我感兴趣的元素的描述。我想检查关键字的描述,然后检查该关键字是否包含在单独的列 A 中桌子。如果找到匹配项,我需要返回同一单独表的下一列(在本示例中为 B 列)中的值。

随附的屏幕截图显示了数据的组织方式。名为 Column1 的列是我需要的输出。

其实我已经找到了解决办法,但是涉及到大量的嵌套,我需要强制公式中的类别和关键字,无法添加我需要的所有条件;这是当前的公式:

=IFERROR(IF(SEARCH("keyword";cellWithDescription);"category";);"OTHER")

对于更多类别,我重复公式而不是“其他”:

=IFERROR(IF(SEARCH("keyword";cellWithDescription);"category";);IFERROR(IF(SEARCH("keyword2";cellWithDescription2);"category2";);"OTHER"))

这并不理想,尤其是对于许多类别。如何使用更简单、更有效的公式完成相同的任务,可能将关键字与表格中的值进行比较(而不是像我现在所做的那样在公式本身内部)?

提前感谢您的帮助!

【问题讨论】:

    标签: excel vlookup


    【解决方案1】:

    这对我有用

    =INDEX(category,MATCH(1,--ISNUMBER(SEARCH(keyword,cellWithDescription)),0),1)
    

    作为数组公式输入,因此复制公式后ctrl+shift+enter(公式周围会出现大括号)

    【讨论】:

    • 我会从你的答案中删除花括号。我知道你只是把它放在那里表明它是一个数组公式,但我看到用户认为他们实际上应该输入大括号,这会导致混淆。无论如何,+1
    • @ImaginaryHuman072889 好点,谢谢。我不确定我是否应该提到 - 用你的输入改变它,现在应该清楚
    • 非常感谢@Jo.lass 的回答,您的解决方案完全符合我的要求!
    • 很好,感谢您的反馈 - 不要犹豫,投票并标记为已回答以供将来参考
    • 我做到了,但恐怕我没有展示它的声誉,这是我在这里的第一个问题......但再次感谢
    猜你喜欢
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多