获取具有日期 1 或日期 2 的唯一 ID。对于同时具有两个日期的 ID,获取具有两个日期中最新日期的行

获取具有日期 1 或日期 2 的唯一 ID。对于同时具有两个日期的 ID,获取具有两个日期中最新日期的行

我一直试图检索以下工作表 (sheet1) 中的行,其中日期与 sheet2 中的日期匹配,但不重复 Sheet1 (列 B) 中的 ID

工作表1

工作表2

换句话说,我想检查 Sheet2 中的任一日期是否存在于 Sheet1 中,以查找 B 列中的 ID,并获取 Sheet1 中 Sheet2 中选定的两个日期中日期较近的行。以下是我想要的输出示例:

示例输出

到目前为止,我收到了重复的 ID:两个日期各一个。

(它必须是一个公式,因为这将是动态的,其中将在表 2 中选择不同的日期)

这是我目前的公式:

=IFERROR(INDEX(Sheet1!$A$2:$C$11, LARGE(IF(((Sheet1!$C$2:$C$11=Sheet2!$C$2)+(Sheet1!$C$2:$C$11=Sheet2!$C$3)>0),
MATCH(ROW(Sheet1!$B$2:$B$11), ROW(Sheet1!$B$2:$B$11)), “”), ROW(Sheet1!C1)), COLUMN(Sheet1!A1)),
“”)

这是我得到的输出。请注意红色的重复 ID。我只想要绿色的日期较近的行。

我并不反对辅助列,但是 Sheet1 中的数据也可能会发生变化,并且我不希望我的输出有任何空白。

我对此很陌生,所以任何建议都非常感谢!拜托!我已经做这件事好几天了。

以下是 Excel 表的图片:

答案1

我的建议:

=LET(s, SORT(FILTER(Sheet1!$A$2:$C$11, (Sheet1!$C$2:$C$11=Sheet2!$C$2)+(Sheet1!$C$2:$C$11=Sheet2!$C$3)),3,-1), 
w, CHOOSECOLS(s,2), SORT(UNIQUE(CHOOSEROWS(s, MATCH(w,w,0))),2))

答案2

如果您拥有最新版本的 Excel,则可以使用以下公式:
=LET(d_1,MIN(F2:F3),d_2,MAX(F2:F3),ID_2,FILTER(B2:B11,C2:C11=d_2),ID_1,FILTER(B2:B11,(C2:C11=d_1)*(IFERROR(MATCH(B2:B11,ID_2,0)=0,TRUE))),t_1,FILTER(A2:C11,(IFERROR(MATCH(B2:B11,ID_1,0),FALSE))*(C2:C11=d_1)),t_2,FILTER(A2:C11,C2:C11=d_2),VSTACK(t_1,t_2))

=LET(

  • d_1,MIN(F2:F3),- 较早的日期
  • d_2,MAX(F2:F3),- 稍后日期
  • ID_2,FILTER(B2:B11,C2:C11=d_2),- 身份证件显示日期较晚
  • ID_1,FILTER(B2:B11,(C2:C11=d_1)*(IFERROR(MATCH(B2:B11,ID_2,0)=0,TRUE))),- 仅限较早日期的身份证
  • t_1,FILTER(A2:C11,(IFERROR(MATCH(B2:B11,ID_1,0),FALSE))*(C2:C11=d_1)),- ID_1 的记录
  • t_2,FILTER(A2:C11,C2:C11=d_2),- ID_2 的记录
  • VSTACK(t_1,t_2)- 合并结果

)

在此处输入图片描述

相关内容