【问题标题】:If Cell Contains XXX Then Return Corresponding Value如果单元格包含 XXX 则返回对应的值
【发布时间】:2016-03-03 00:15:42
【问题描述】:
     A          B          C           D
1  Ross       Sales     John Guys    Finance 
2  Smith      Sales     Sam Andy     #N/A or False
3  Guys       Finance   Mike Ross    Sales

我将这个公式放在单元格“D1”中,但它没有给我正确的结果

=IF(SUMPRODUCT(--ISNUMBER(SEARCH(A:A,C:C)))>0,B:B)

INDEX MATCH 函数不起作用,因为它不是精确值

我可以在“D1”及以下输入什么来给出上表中的结果?

【问题讨论】:

    标签: excel excel-formula vba


    【解决方案1】:

    在 D2 中试试这个,

    =LOOKUP(1E+99, SEARCH(A2, C:C), B:B)
    'or cut down the full column references
    =LOOKUP(1E+99, SEARCH(A2, C$2:C$4), B$2:B$4)
    'alternately as a wildcard MATCH
    =INDEX(B:B, MATCH("*"&A2&"*",C:C, 0))
    

    根据需要填写。

          

    【讨论】:

    • 1E+99 是干什么用的?我正在处理超过 40k+ 行的工作表,所以我应该改用 E1+99999 吗?
    • a) 1e99 是一个 1 后跟 99 个零。这是一个不可能的大数字;一个永远无法满足并用于此目的的人。 b)如果您有 40K 行,第二个通配符 MATCh 对您来说会更好。 c) 切勿对 SUMPRODUCT 使用完整的列引用。 40K 很多,但仍然比 1,048,576 小很多。
    • ""&A2&"" 只会在 A2 中查找一个值。如何扩展它以查找范围?说 A:A 或 A2:A6 等
    猜你喜欢
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多