【问题标题】:Find a value in a range based on the first two words and return the found value in Excel根据前两个单词在范围内查找一个值并在 Excel 中返​​回找到的值
【发布时间】:2014-01-16 21:18:05
【问题描述】:

这很好地找到了一个特定的值:

=VLOOKUP("Bob Hoskins (ICT)", 'Sheet1 '!C12:G12, TRUE, FALSE)

但是,我只想在该范围内搜索“Bob Hoskins”并返回完整值,只要“Bob Hoskins”是前两个词,就可以是“Bob Hoskins (ICT)”。这是我到目前为止所拥有的,如果 Bob Hoskins 在 C12 中它工作正常,但如果它在 D12、E12、F12、G12 中则不会工作。有人可以指出我正确的方向吗?

=IF(LEFT('Sheet1 '!C12:G12,FIND("|",SUBSTITUTE('Sheet1 '!C12:G12," ","|",2))-1)="Bob Hoskins",'Sheet1 '!C12:G12,"No")

此外,如果该范围内存在其他值,则公式返回 VALUE!我希望它什么也不返回

【问题讨论】:

    标签: excel search range


    【解决方案1】:

    编辑:

    回答所描述的问题(使用 VLOOKUP 查找以定义值开头的任何值):

    =VLOOKUP("Bob Hoskins*",'Sheet1 '!C12:G12, TRUE, FALSE)

    回答实际问题(在一行中查找任何值的实例):

    =INDEX(12:12,MATCH("Bob Hoskins*",12:12,FALSE))

    【讨论】:

    • 它似乎不起作用? =VLOOKUP("Bob Hoskins*",'Sheet1 '!C12:G12, TRUE, FALSE) 是否仅搜索“Bob Hoskins”,然后返回诸如“Bob Hoskins (science)”之类的值? “Bob Hoskins”可以在范围内的任何位置吗?
    • 如果“Bob Hoskins”在 C12 中有效,但在 E12 中无效?
    • 首先,VLOOKUP 仅在您定义范围的第一列是您正在查看的列时才有效。 C12:G12 范围内的 VLOOKUPS 将始终查看 Bob Hoskins 的 C12,然后在此范围内的指定单元格中返回相应的值。老实说,我不熟悉您对 TRUE 的使用。您要从 C12:G12 中的哪个单元格捕获数据? 其次,上面的公式将查找以 Bob Hoskins 开头的任何值(在单元格 C12 中)并返回。
    • 感谢您的帮助,我还在学习,我想在 C12:G12 范围内搜索“Bob Hoskins”而不仅仅是 C12,不能保证 Bob 会在 C12,他可能在 D12。也许 VLOOKUP 是错误的功能,因为它在一行中搜索范围
    • VLOOKUP 在一列中查找一个值(在 C 列中查找以 Bob Hoskins 开头的任何值),然后水平查找(在同一行中)以从不同列中查找您想要的任何值。所以你想要一个公式来搜索范围 C12:G12 并返回 Bob Hoskins 的值?鲍勃霍斯金斯可以出现不止一次吗?您想知道 Bob Hoskins 的实际值,还是只想知道它是否存在/存在多少次?
    猜你喜欢
    • 1970-01-01
    • 2019-05-23
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-20
    相关资源
    最近更新 更多