具有多个标准的VLOOKUP?

时间:2016-03-02 10:37:20

标签: excel range vlookup

我一直在尝试创建一个VLOOKUP来根据另一列"提交"来返回一个值。日期落在日期之间。 我的目的是提供所有未在特定栏目中提交数据的项目的视图(本周)

在一个文档中,我有一个项目提交的存档,每次有人提交项目时都会添加一行新的值(连同提交的时间/日期)。 (宏复制信息和保存)。 我已经为一年中的每一天分配了一个星期的号码,并且查看了今天()以允许我提取当前的周信息。

我试图返回列HN,如果它已经提交的时间是在日期期间之间,那么为该项目提取该周的最新提交。每个项目都有一个唯一的编号。

(一周内可以提交多份,因此SUMif无法正常工作 - 将这些值乘以项目提交的次数。)

如果需要更多信息,请告诉我

存档数据示例:

Project OBR        Last Report Submitted:       Costs
9977               29/01/2016 11:19             1050 
9977               30/01/2016 12:30             1070

(费用保留为小计)

我现在正在尝试的例子:

=SUMIFS('[TUR Master Report.xlsm]Archive'!$HN:$HN,'[TUR Master Report.xlsm]Archive'!$B:$B,"<="&$DP:$DP,'[TUR Master Report.xlsm]Archive'!$B:$B,">="&$DO:$DO,'[TUR Master Report.xlsm]Archive'!$A:$A,$DT$2)

但是,由于我使用的是sumif,如果多个提交是在同一周,则可以重复成本。

然后我有VLOOKUPs比较TODAY()和周数来拉开相关的一周

1 个答案:

答案 0 :(得分:0)

首先,获取该期间的最早日期。这将作为检索相关成本的标准。

对于以下B2中的样本图像,

=AGGREGATE(15, 6, '[TUR Master Report.xlsm]Archive'!$B$2:$B$13/
                  (('[TUR Master Report.xlsm]Archive'!$B$2:$B$13>=DO2)*
                   ('[TUR Master Report.xlsm]Archive'!$B$2:$B$13<=DP2)*
                   ('[TUR Master Report.xlsm]Archive'!$A$2:$A$13=A2)), 1)

现在将其作为另外两列匹配中的一个标准来检索成本。

对于下面C2中的样本图像,

=INDEX('[TUR Master Report.xlsm]Archive'!$HM:$HM,
           AGGREGATE(15, 6, ROW('[TUR Master Report.xlsm]Archive'!$1:$13)/
                           (('[TUR Master Report.xlsm]Archive'!$B$1:$B$13=B2)*
                            ('[TUR Master Report.xlsm]Archive'!$A$1:$A$13=A2)), 1))

没什么。

tur_master