请帮助好人!
我正在尝试在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可能无法正常工作...
请帮助
答案 0 :(得分:0)
粘贴到 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))))
等...