You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助Google Sheets公式:依据F至I列变量返回E列最新日期

解决Google Sheets多列匹配返回最新日期的问题

问题原因

你原来用的MAXIFS函数要求条件范围必须是单列,直接把$F$2:$F改成多列的$F$2:$I不符合函数语法,所以无法运行。

解决方案

下面提供两种适合新手的公式,按需选择:

1. 自动填充整列的数组公式(推荐)

直接在B2单元格输入以下公式,会自动填充整个B列,不用手动下拉:

=ARRAYFORMULA(IF(A2:A="", "", BYROW(A2:A, LAMBDA(x, MAX(IF(REGEXMATCH(FLATTEN($F$2:$I), x), $E$2:$E, 0))))))

公式说明:

  • ARRAYFORMULA:让公式自动应用到整列
  • IF(A2:A="", "", ...):A列空值时,B列也显示空
  • BYROW(A2:A, LAMBDA(x, ...)):遍历A列每一行的内容(用x指代当前行的A值)
  • FLATTEN($F$2:$I):把F到I列的多列数据转换成单列,方便统一匹配
  • REGEXMATCH(..., x):判断F-I列中是否包含当前A列的内容x
  • MAX(IF(..., $E$2:$E, 0)):如果匹配成功,取对应行的E列日期,最后用MAX筛选出最新的日期(日期在Google Sheets里是数值,越大越新)

2. 逐行下拉的公式

如果不想用数组公式,在B2单元格输入以下公式后,下拉填充即可:

=IF(A2="", "", MAX(IF(REGEXMATCH(FLATTEN($F$2:$I), A2), $E$2:$E, 0)))

注意事项

如果A列的内容包含特殊字符(比如.、*),REGEXMATCH可能会识别为正则符号,这时候需要用REGEXESCAPE处理,把公式里的x改成REGEXESCAPE(x)即可。

内容的提问来源于stack exchange,提问作者Donna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 05:06:01