ID和日期上的Vlookup(模糊日期)Google Spreadsheets?

时间:2016-08-03 02:20:05

标签: google-sheets

我正在尝试基本上在两列ID上进行Vlookup(我希望匹配准确)和日期字段(我希望它是模糊的)。

假设您在“Sheet1”中有关于医院入院的表格如下:

ID  Admit_Date
000 01/01/2016
000 06/01/2016
001 02/01/2016
002 04/01/2016

然后我在“Sheet2”中有另一张关于后续护理的表格如下:

ID  Followup_Date
000 01/05/2016
000 06/06/2016
001 02/02/2016
002 04/04/2016

在表1中,我想返回相应的Followup_Date,这是Admit_Date之后最接近的日期

所以我的最终结果看起来像

ID  Admit_Date   Followup_Date
000 01/01/2016   01/05/2016
000 06/01/2016   06/06/2016
001 02/01/2016   02/02/2016
002 04/01/2016   04/04/2016

使用Google Spreadsheets中的公式,最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

更新

获取" Followup_Date",Sheet1上的公式

你可以使用这个公式: =QUERY(SORT(FILTER(sheet2!B:B,sheet2!A:A=A2,sheet2!B:B>=B2)),"limit 1")

原始(错误)答案

获取" Admit_Date",Sheet2上的公式

试试这个公式:

=VLOOKUP(B2,(FILTER(sheet1!B:B,sheet1!A:A=A2)),1)

您需要将其粘贴到单元格C2中并将其复制下来。

这个公式正在做:

  1. filtering data,完全匹配sheet1!A:A=A2
  2. doind vlookup,使用默认参数,在Admit_Date之后提供最接近的日期。这将适用于数字,而日期是电子表格中的序列号,因此这适合您。
  3. 如果您喜欢大型ArrayFormulas,那么您不需要向下拖动它,它会自动扩展:

    =ArrayFormula(RIGHT(VLOOKUP(VLOOKUP(OFFSET(A1,1,,counta(A2:A)),{UNIQUE(FILTER(A2:A,A2:A<>"")),row(INDIRECT("A1:A"&COUNTUNIQUE(A2:A)))*100000},2,0)+OFFSET(B1,1,,counta(A2:A)),VLOOKUP(OFFSET(sheet1!A1,1,,counta(sheet1!A2:A)),{UNIQUE(FILTER(A2:A,A2:A<>"")),row(INDIRECT("A1:A"&COUNTUNIQUE(A2:A)))*100000},2,0)+OFFSET(sheet1!B1,1,,counta(sheet1!A2:A)),1),5)*1)