我正在为excel编写一个公式,以便在更改单元格A13时找到一个值,然后将A13的值与工作簿中的其他工作表进行比较,然后返回它找到的值。我正努力让这个公式起作用,因为出于某种原因,当单元格中有一个句点时,VLOOKUP返回" #N / A"。当我使用TRUE并进行近似匹配时,它有时会起作用。以下是在搜索完全匹配时返回#N / A的值的示例:ABCD.8G74。我想在vlookup中使用FALSE来获得完全匹配。这是公式:
=IF(VLOOKUP(A13,sheet2!G2:J5,1,FALSE)=A13,VLOOKUP(A13,sheet2!G2:J5,2,FALSE),IF(VLOOKUP(A13,sheet3!G2:J5,1,FALSE)=A13,VLOOKUP(A13,sheet3!G2:J5,2,FALSE),IF(VLOOKUP(A13,sheet4!G2:J5,1,FALSE)=A13,VLOOKUP(A13,sheet4!G2:J5,2,FALSE),"0")))
如果您还有其他问题请告诉我。谢谢yalls的帮助!
答案 0 :(得分:1)
按定义完全匹配意味着它将在查找表中查找EXACT值。如果该值在表中不准确,则返回#N / A.如果您在A13中输入的值具有句点,而表中的值没有句点,那么您需要找到一种方法来在执行vlookup之前删除句点。
您可以使用替换函数执行此操作并将其作为查找值传递:
=SUBSTITUTE(A13,".","")
答案 1 :(得分:0)
问题是当它在第一张表上找不到它时返回#N/A
并且尝试将错误与单元格值进行比较将返回错误并将IF短路。
将您的VLOOKUPS包装在IFERROR中:
=IFERROR(VLOOKUP(A13,sheet2!G2:J5,2,FALSE),IFERROR(VLOOKUP(A13,sheet3!G2:J5,2,FALSE),IFERROR(VLOOKUP(A13,sheet4!G2:J5,2,FALSE),0)))