2016-03-02 62 views
1

我一直试图创建一个VLOOKUP来返回一个值,如果另一列的“提交”日期落在两个日期之间。 我的目标是提供所有未在某一列提交数据的项目的视图(在那一周)VLOOKUP有多个标准?

在一个文档中,我有一个项目提交的档案,每次有人提交时添加一行新的值他们的项目(连同提交的时间/日期)。 (宏复制信息和保存)。 我已经为每周的每一天分配一个星期的数字,并且vlookup'd TODAY()允许我取消当前的星期信息。

我试图返回列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()拉动相关一周的假

+2

请添加您已经尝试过的代码以及您的源数据示例。 – Wouter

+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