Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 具有2个可能查找值的Vlookup函数_Excel_Excel Formula_Vlookup - Fatal编程技术网

Excel 具有2个可能查找值的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以考虑常规数字和带星号的数

我在完成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*在另一个工作簿中。此公式仅检查当前工作簿单元格是否为值。但我认为你走的是对的