求助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列的内容xMAX(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
相关产品推荐
相关产品推荐

