【问题标题】:Excel index match: If date week number matches date?Excel索引匹配:如果日期周数匹配日期?
【发布时间】:2016-12-20 23:43:52
【问题描述】:

我有 2 个 Excel 电子表格,表 1 和表 2:

表 2

Col F (Date)   Col G (Item No)  Col H (Supplier code)   Col I (PO Number)
21/12/2016         12345                 123            PO1111
18/12/2016         5555                  2468           PO2222
                                         123            po982

表 1

Column F (Week No or date)    Column G (Item No)    Col H (Supplier   Col I (Formula) Code)   
51                            12345                 123
18/12/2016                    5555                  2468

在表格 1 的第一列中,我想添加我的索引匹配公式:

=INDEX(Sheet2!D1, MATCH(F4&G4&H4,Sheet2!A:A&Sheet2!B:B&Sheet2!C:C, 0))

这应该从第 2 页的第 I 列返回采购订单编号,其中 F、G 和 H 列匹配。

这很好用。从上面的例子中,这个公式将返回最后一行的结果:

18/12/2016                    5555               2468         PO2222

您可能已经注意到,工作表 1 的 (F) 列中的第一行的周数为 50 - 但工作表 2 的 F 列中的日期为 21/12/2016。

按权利,这不会给出匹配的结果。

但是,工作表 2 上的 F 列将包含周数或特定日期。如果是这种情况,我希望我的公式检查匹配日期或未找到匹配日期,检查日期是否在该周数内?因此,例如 21/12/2016 将属于第 51 周(从星期一开始的一周)。

有没有办法可以相应地修改我的索引匹配公式以获得这个结果?

提前致谢

【问题讨论】:

  • 你能使用辅助列吗?例如。在表 2 COl J = WEEKNUM(F2)

标签: excel indexing match


【解决方案1】:

我在 Sheet 2 col J 中添加了一个辅助列,以获取 Col F 中日期的周数。在 sheet1 中,我使用这个公式作为 col I

=INDEX(Sheet2!I:I,SUMPRODUCT(IF(YEAR(F3)<2016,(Sheet2!J:J=F3),(Sheet2!F:F=F3))*(Sheet2!G:G=G3)*(Sheet2!H:H=H3)*ROW(Sheet2!I:I)))

公式的下面部分

IF(YEAR(F3)<2016,(Sheet2!J:J=F3),(Sheet2!F:F=F3))

检查日期的年份是否小于 2016。如果输入了周数,Year() 将返回值 1900。如果为真,它将周数与工作表 2 中的 col K 进行比较,否则将比较日期两张纸的col F。

【讨论】:

  • 谢谢,这太棒了
  • 是公式的以下部分,您说明了需要在 J 列中获取周数的公式?
  • 没有。 J2 = WEEKNUM(F2) 并填写
  • 好的,这在哪一栏? IF(YEAR(F3)
  • 这已经在我发布的第一个公式中了。我只是解释公式的一部分(第一个)
猜你喜欢
  • 1970-01-01
  • 2017-05-14
  • 2016-05-10
  • 1970-01-01
  • 2016-01-14
  • 2021-03-05
  • 2021-11-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多