Excel 具有2个可能查找值的Vlookup函数
我在完成VLOOKUP函数时遇到了一些问题 我的功能:Excel 具有2个可能查找值的Vlookup函数,excel,excel-formula,vlookup,Excel,Excel Formula,Vlookup,我在完成VLOOKUP函数时遇到了一些问题 我的功能: =IFERROR((VLOOKUP($E5,'C:\Users\[Example.xlsx]Sheet1'!$F$7:$G$1048576,2,FALSE)), "Removed") -->此函数有效,但不适用于带有通配符的值, 在我的表格数组中,有些数值的末尾带有星号。对于这些特殊数字,它将返回一个错误(在本例中为已删除) 表数组示例: 1.1 1.2 1.3* 1.4 1.5* -->如何调整VLOOKUP以考虑常规数字和带星号的数
=IFERROR((VLOOKUP($E5,'C:\Users\[Example.xlsx]Sheet1'!$F$7:$G$1048576,2,FALSE)), "Removed")
-->此函数有效,但不适用于带有通配符的值,
在我的表格数组中,有些数值的末尾带有星号。对于这些特殊数字,它将返回一个错误(在本例中为已删除)
表数组示例:
1.1
1.2
1.3*
1.4
1.5*
-->如何调整VLOOKUP以考虑常规数字和带星号的数字(通配符)
-->注意我无法从其他工作簿中删除星号,这些星号必须保留在那里
-->我想让它找到两个值中的一个(带星号的值,或不带星号的值)
提前谢谢你 尝试使用返回数值和字符值的函数转换查找值,如下所示:
=IFERROR((VLOOKUP(IFERROR(VALUE($E5);$E5),'C:\Users\[Example.xlsx]Sheet1'!$F$7:$G$1048576,2,FALSE)), "Removed")
附言:很抱歉我的英语只是因为我有一个可以接受的答案: 您只需在不使用
*
的情况下检查该值,如果这导致错误,则自动添加该值,如下所示:
=IFERROR(IFERROR(VLOOKUP($E5,'C:\Users\[Example.xlsx]Sheet1'!$F$7:$G$1048576,2,FALSE),VLOOKUP($E5&"*",'C:\Users\[Example.xlsx]Sheet1'!$F$7:$G$1048576,2,FALSE)),"Removed")
想为在评论中找不到答案的人发布答案 -->感谢德克·雷切尔的回答。
=IFERROR(IFERROR(VLOOKUP($E5,'C:\Users\[Example.xlsx]Sheet1'!
$F$7:$G$1048576,2,FALSE),VLOOKUP($E5&"*",'C:\Users\[Example.xlsx]Sheet1'!
$F$7:$G$1048576,2,FALSE)), "Removed")
第一个VLOOKUP查看是否有不带和星号(*)的值,然后如果没有值,如果第一个VLOOKUP不正确,它将转到该值。这将导致第二个值,它是另一个VLOOKUP。第二个VLOOKUP搜索以星号结尾的值。如果它仍然没有找到值,那么它会像第二个IFERROR函数所示那样输出“Removed”(已删除)。您是否有类似于
1.3.1
?星号实际上是一个通配符。你能把它改成像“1”这样的数字吗?它总是小数点后1位吗?如果是这样的话,你可以试试左边(单元格,3)。=IFERROR(IFERROR(VLOOKUP($E5,'C:\Users\[Example.xlsx]Sheet1'!$F$7:$G$1048576,2,FALSE),VLOOKUP($E5&“*”,'C:\Users\[Example.xlsx]Sheet1'!$F$7:$G$1048576,2,FALSE)),“删除”)
。@Jeeped不幸的是我不能更改星号,但我的数字上只有一个小数,所以1.1,2.1、14.1等@DirkReichel不,这不起作用,让我进行故障排除和评估,看看结果如何。很好地抓住了文本——看起来像数字与真实数字的对比。我想你在里面留了个分号。也许我把运算搞错了。。。但是*
在[Example.xlsx]
-表中,这个函数一点帮助都没有。。。我想他想输入1.3
,然后从1.3*
-行获得输出(因为没有1.3
)@DirkReichel是的,Dirk是正确的,不幸的是,这个公式不起作用。因为1.3*在另一个工作簿中。此公式仅检查当前工作簿单元格是否为值。但我认为你走的是对的