【问题标题】:How to modify my VLOOKUP() to search for only 1 character?如何修改我的 VLOOKUP() 以仅搜索 1 个字符?
【发布时间】:2013-06-18 13:56:15
【问题描述】:

我在带有下拉列表的 Excel 工作簿中有几个单元格。其他单元格使用 VLOOKUP() 在参考工作表中搜索下拉值代码的描述。

我不得不修改我的下拉列表,使其不仅包含值代码,还包含描述。因此,我的其他单元格的 VLOOKUP() 不再正常运行,而是搜索整个值,例如“1 - Bag”,而不是“1” .

下拉列表示例 - 单元格(F5) 之前:1、2、3、4、5 之后:1 - 袋子、2- 液体、3 - 固体、4 - 罐头等。

参考单元格示例 - Cell(A21) 之前:=IFERROR(VLOOKUP(F5,SampleFrom!1:10,2,FALSE),"") 之后:

有人可以帮助我修改我的公式以仅搜索单元格值的第一个字符,在本例中,在 F5 值的第一个字符上方吗?谈到 Microsoft Excel,我仍然非常业余。

【问题讨论】:

    标签: excel excel-2007 excel-formula formula vba


    【解决方案1】:

    要么

    =IFERROR(VLOOKUP(LEFT(F5,1),SampleFrom!1:10,2,FALSE),"")
    

    或者如果查找值应该是一个真实的数字

    =IFERROR(VLOOKUP(--left(F5,1),SampleFrom!1:10,2,FALSE),"")
    

    【讨论】:

    • 遗憾的是,以下似乎不起作用。只返回一个空白值:/=IFERROR(VLOOKUP(LEFT(F5,1),SampleFrom!1:10,2,FALSE),"")
    • 您尝试过替代版本吗?
    • @JosieP 在我测试时看起来替代版本有效。第一个版本失败,因为Left 函数返回一个字符串,并且查找表可能包含数值。您的第二个版本转换为数字,并且似乎工作正常。
    • JosieP 看起来好像我犯了一个古老的错误,自己犯了一个@$$,只是假设第二个不起作用,而第一个没有......看起来像第 2 个诡计!谢谢! @David 感谢您解释第一个解决方案失败和第二个解决方案背后的原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多