带有 ARRAYFORMULA 的 MAXIFS 在 Google 表格中不起作用
Posted
技术标签:
【中文标题】带有 ARRAYFORMULA 的 MAXIFS 在 Google 表格中不起作用【英文标题】:MAXIFS with ARRAYFORMULA not working in Google Sheets 【发布时间】:2020-03-25 00:20:14 【问题描述】:请帮助优秀的人!
我正在尝试在 Google 表格的 ARRAYFORMULA 中使用 MAXIFS 公式从表格 1 中获取 A 列中的最新日期,其中表格 2 的 A 列中的值与表格 1 中的 E 列中的值匹配。这是我的公式:
=ARRAYFORMULA(IF(ISBLANK(A2:A),"",IF(MAXIFS(Sheet1!$A:$A,Sheet1!$E:$E,A2:A)=0,"",MAXIFS(Sheet1!$A:$A,Sheet1!$E:$E,A2:A))))
表 2:
表 1:
然后,我在另外 6 个列中重复这些操作,以使用 MAXIFS 公式中的额外标准给出前 6 个日期,在该公式中,我要求最新日期,小于上一列。公式如下:
=ARRAYFORMULA(IF(ISBLANK(A2:A),"",IF(MAXIFS(Sheet1!A:A,Sheet1!E:E,A2:A,Sheet1!A:A,"<"&B2:B)=0,"",MAXIFS(Sheet1!A:A,Sheet1!E:E,A2:A,Sheet1!A:A,"<"&B2:B))))
这一切都适用于第一行,但之后的每一行都给出相同的结果,表明公式必须使用 A2 中的值作为所有后续行的 MAXIFS 语句中的标准。
我看不出我有什么问题,所以这让我觉得 ARRAYFORMULA 中的 MAXIFS 可能不起作用...
请帮忙
【问题讨论】:
这是文件副本的链接... docs.google.com/spreadsheets/d/… 【参考方案1】:粘贴到B2:
=ARRAYFORMULA(TO_DATE(IFNA(VLOOKUP(A2:A,
SORTN(SORT(Sheet1!E2:E, Sheet1!A2:A, 2, 0), 999^99, 2, 1, 1), 2, 0))))
粘贴到C2:
=ARRAYFORMULA(TO_DATE(IFNA(VLOOKUP(A2:A,
SORTN(SORT(FILTER(Sheet1!E2:E, Sheet1!A2:A,
NOT(COUNTIF(A2:A&B2:B, Sheet1!E2:E&Sheet1!A2:A))), 2, 0),
999^99, 2, 1, 1), 2, 0))))
粘贴到D2:
=ARRAYFORMULA(TO_DATE(IFNA(VLOOKUP(A2:A,
SORTN(SORT(FILTER(Sheet1!E2:E, Sheet1!A2:A,
NOT(COUNTIF(A2:A&B2:B; A2:A&C2:C, Sheet1!E2:E&Sheet1!A2:A))), 2, 0),
999^99, 2, 1, 1), 2, 0))))
粘贴到E2:
=ARRAYFORMULA(TO_DATE(IFNA(VLOOKUP(A2:A,
SORTN(SORT(FILTER(Sheet1!E2:E, Sheet1!A2:A,
NOT(COUNTIF(A2:A&B2:B; A2:A&C2:C; A2:A&D2:D, Sheet1!E2:E&Sheet1!A2:A))), 2, 0),
999^99, 2, 1, 1), 2, 0))))
等等……
【讨论】:
以上是关于带有 ARRAYFORMULA 的 MAXIFS 在 Google 表格中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
带 ARRAYFORMULA 的 SUMIF,参数必须是范围错误
在 Google 表格的过滤视图中排序时,ArrayFormula 列消失
Google 电子表格 ArrayFormula + VLookup 转换