【问题标题】:Two-way look-up in Excel with same values #REF ErrorExcel 中具有相同值的双向查找#REF 错误
【发布时间】:2015-11-28 12:18:37
【问题描述】:

我正在为 Excel 进行计划项目。

当我有多个 VLOOKUP 和 MATCH 时,我遇到了 #REF 错误

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

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

适用于 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","")

【问题讨论】:

    标签: excel match vlookup ref


    【解决方案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"), "")
    

          

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

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

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

    【讨论】:

    • 谢谢!像魅力一样工作
    • 不用担心。如果您需要,我已经添加了一个 pre-xl2010 解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-27
    • 2012-06-18
    相关资源
    最近更新 更多