如何在Google Sheets中按地址匹配获取最新日期的提醒编号?
Google Sheets 双条件匹配最新日期提醒编号解决方案
方法1:XLOOKUP + MAXIFS 组合公式
在表格B的结果单元格(如C2)输入以下公式,下拉填充即可:
=XLOOKUP(MAXIFS('提醒记录'!D:D, '提醒记录'!B:B, B2), '提醒记录'!D:D, '提醒记录'!C:C, "", 0, 1)
- 逻辑说明:
MAXIFS('提醒记录'!D:D, '提醒记录'!B:B, B2):筛选表格A中与当前行地址(B2)匹配的所有日期,返回其中最大值(最新日期)XLOOKUP(...):用找到的最新日期匹配表格A的日期列,返回对应提醒编号;无匹配时返回空值
方法2:修正QUERY函数逻辑
若偏好使用QUERY,可使用以下公式:
=QUERY('提醒记录'!$A:$D, "SELECT C WHERE B = '"&TEXT(B2, "@")&"' ORDER BY D DESC LIMIT 1", 0)
- 逻辑说明:
WHERE B = '"&TEXT(B2, "@")&"':筛选表格A中地址与当前行一致的记录ORDER BY D DESC:将筛选结果按日期降序排列(最新日期在前)LIMIT 1:仅取第一条记录的提醒编号列(C列)
注意事项
- 确保表格A的日期列(D列)已设置为日期格式,否则无法正确识别日期先后顺序
- 若地址包含单引号,方法2公式需调整为:
=QUERY('提醒记录'!$A:$D, "SELECT C WHERE B = '"&SUBSTITUTE(B2, "'", "''")&"' ORDER BY D DESC LIMIT 1", 0),通过SUBSTITUTE转义单引号避免语法错误
内容的提问来源于stack exchange,提问作者Yumi
相关产品推荐
相关产品推荐

