在Excel中使用相同的值进行双向查找#REF错误

我正在为excel工作。

当我有多个VLOOKUP和MATCH时,我正在努力处理#REF错误

在这里输入图像说明

在第2行,数字(04,05,06)被格式化为2016年7月4日,7/5/2016等date

第9行(Table8)的表格就是我inputdate的地方。

在B5上正常工作的公式是

=IF(VLOOKUP(A3,Table8[[#All],[Name]:[Date]],MATCH(B2,Table8[[#All],[Date]],0),FALSE)=B2,"OFFr","") 

一个简单的复制和粘贴C5 ..但返回一个#REF错误

 =IF(VLOOKUP(A3,Table8[[#All],[Name]:[Date]],MATCH(C2,Table8[[#All],[Date]],0),FALSE)=C2,"OFFr","") 

您的VLOOKUPfunction没有按照您的想法进行。 它恰好在B5中工作,第二行(2)提供了VLOOKUP的column_num参数中的第二列。

使用AGGREGATE¹函数作为匹配的date。

 =IFERROR(IF(AGGREGATE(15, 6, Table8[date]/((Table8[name]=$A3)*(Table8[date]=B$2)), 1)=B$2, "OFFr"), "") 

AGGREGATE两列匹配

如果您的Excel是2010之前版本,或者您需要提供向后兼容性,则还有其他两个列匹配公式可用。

Pre-xl2010两列匹配:

 =IFERROR(IF(INDEX(Table8[date],MAX(INDEX((ROW(Table8[name])-ROW(Table8[[#Headers],[name]]))*(Table8[name]=$A3)*(Table8[date]=B$2), , )))=B$2, "OFFr"), "") 

¹AGGREGATEfunction是在Excel 2010中引入的。它在早期版本中不可用。