Excel中具有相同值的双向查找#REF错误

时间:2015-09-02 20:27:07

标签: excel match vlookup ref

我正在为excel开发一个调度项目。

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

enter image description here

在第2行,数字(04,05,06)的格式为2016年7月4日,2016年7月5日等日期

第9行(表8)的表格是我输入日期的地方。

在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","")

1 个答案:

答案 0 :(得分:1)

您的VLOOKUP function没有按照您的想法行事。它在B5中工作,巧合的是第二行(2)提供了VLOOKUP的 column_num 参数中的第二列。

使用AGGREGATE¹ function作为匹配日期。

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

AGGREGATE two column match

如果您的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"), "")

¹ Excel 2010引入了AGGREGATE function。早期版本不提供。