我正在尝试基本上在两列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中的公式,最好的方法是什么?
答案 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中并将其复制下来。
这个公式正在做:
sheet1!A:A=A2
Admit_Date
之后提供最接近的日期。这将适用于数字,而日期是电子表格中的序列号,因此这适合您。如果您喜欢大型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)