如何根据与另一张表的日期比较从一个 Google Sheets 表中检索 ID

问题描述 投票:0回答:2

我在 Google 表格中有两个表格,我需要根据日期列检索 ID。表 1 包含每月销售数据,而表 2 包含商店在给定日期营业或关闭的信息。 如果商店已经关门了,Closing 会有数据,否则为空(商店没有关门)。

基本上,两个表具有相同的结构:名称、ID 和日期列。

表1)

姓名 身份证 销售日期
A 2000 年 1 月 1 日
A 2001 年 1 月 1 日
A 2002 年 1 月 1 日
A 2003 年 1 月 1 日
A 2004 年 1 月 1 日
A 2005 年 1 月 1 日
... ... ...
A 2023 年 1 月 1 日

表2)

姓名 身份证 结束
A 1 2005 年 1 月 1 日
A 2

我想要的是,如果Date Sales小于Closing,则应在Table 1ID中检索Table 2中的第一个ID

结果应该是这样的:

姓名 身份证 销售日期
A 1 2000 年 1 月 1 日
A 1 2001 年 1 月 1 日
A 1 2002 年 1 月 1 日
A 1 2003 年 1 月 1 日
A 1 2004 年 1 月 1 日
A 2 2005 年 1 月 1 日
A 2 2006 年 1 月 1 日
A 2 2007 年 1 月 1 日
... ... ...
A 2 2023 年 1 月 1 日

我认为这可以通过 VLOOKUP、INDEX 和 MATCH 的组合来完成。但是,到目前为止,我的公式无法检索给定日期的正确 ID。

我怎样才能做到这一点?

google-sheets indexing match vlookup
2个回答
0
投票

您可以尝试:

=map(A2:A,C2:C,lambda(a,c,if(or(a="",c=""),,ifna(let(Σ,filter(F:G,E:E=a), xlookup(c+1,index(Σ,,2),index(Σ,,1),+filter(index(Σ,,1),index(Σ,,2)=""),1))))))


0
投票

如何使用

Xlookup function
:

=ARRAYFORMULA(XLOOKUP((C2:C25)+1,C$29:C$32,B$29:B$32,,1))

注意:根据您的数据调整范围

C2:C25
范围是数据销售,我加1,这样日期就会包含在之前的ID中。

C29:C32
范围为截止日期

B29:B32
用于 ID

结果:

© www.soinside.com 2019 - 2024. All rights reserved.