发布网友 发布时间:2022-05-06 06:35
共4个回答
热心网友 时间:2022-06-28 22:17
题述公式为:=VLOOKUP(I88,[物料_2021121711080641100005.xlsx]shet2!$D:$E,2,0)
I88 = 38*5
之所以会出现“希望找到 38*5”,但函数找到的却是“38*3.5”,是因为 I88 的内容用了通配符星号“*”。
按照 Excel 2007 帮助的说明(如下图示),使用通配符星号“*”,用于查找任意数量的字符。“38*5”可以是“38*5”也可以是“38*3.5”或是“38*3.05”......,只要“38*”之后的最后是“5”的数都会被认为是“38*5”。
解决的方法是在通配符星号“*”前加通配符波形符“~”。即将 I88 中的“*”换成“~*”:=VLOOKUP(SUBSTITUTE(I88,"*","~*"),[物料_2021121711080641100005.xlsx]shet2!$D:$E,2,0)
按照 Excel 2007 帮助的说明(如下图示),使用通配符波形符“~”后跟?、* 或 ~ ,就是用于查找“问号、星号或波形符”。
下图是用加了波形符公式 =VLOOKUP(SUBSTITUTE(F1,"*","~*"),A1:B10,2,0) 的示例:
加了波形符的公式结果的图示
热心网友 时间:2022-06-28 22:17
格式:热心网友 时间:2022-06-28 22:18
建议将数据中的星号改成数学符号中的乘号,因为星号是一个通配符,表示所有数据。热心网友 时间:2022-06-28 22:18
将Vlookup函数最后一个参数设置为true,意思是精确匹配,