如何在 excel 中添加总行动态数组公式
How to add total line Dynamic Array formula in excel
我想在 excel 中的动态过滤器公式末尾得到一个总行。问题是当数组增长或收缩时如何移动总行?我总是希望总计在过滤数据的末尾。
有点牵强,但如果您想使用 excel-公式来做到这一点,那么您可以尝试以下方法:
E5
中的公式:
=IFERROR(INDEX(FILTERXML("<t><s>"&TEXTJOIN("</s><s>",0,FILTER(A5:C14,C5:C14>15000),"","Total",SUMIF(C5:C14,">15000"))&"</s></t>","//s"),SEQUENCE(COUNTIFS(C5:C14,">15000")+1,3)),"")
我建议保留 15000 作为参考而不是硬编码。
使用来自@JvdV 的索引的想法也有点牵强:
=LET(nrow,COUNTIF(C5:C14,">"&15000),seq,SEQUENCE(nrow+1,3,0),IFS(seq=nrow*3,"",seq=nrow*3+1,"Total",seq=nrow*3+2,SUM(FILTER(C5:C14,C5:C14>15000)),TRUE,INDEX(FILTER(A5:C14,C5:C14>15000),QUOTIENT(seq,3)+1,MOD(seq,3)+1)))
如果您希望使用条件格式将粗体字体应用到使用公式的输出范围
=$F5="Total"
这个有点短。
=LET(f,FILTER(A5:C14,C5:C14>15000),size,ROWS(f),IF(SEQUENCE(size+1)>size,CHOOSE({1,2,3},"","Total",SUM(INDEX(f,,3))),f))
我想在 excel 中的动态过滤器公式末尾得到一个总行。问题是当数组增长或收缩时如何移动总行?我总是希望总计在过滤数据的末尾。
有点牵强,但如果您想使用 excel-公式来做到这一点,那么您可以尝试以下方法:
E5
中的公式:
=IFERROR(INDEX(FILTERXML("<t><s>"&TEXTJOIN("</s><s>",0,FILTER(A5:C14,C5:C14>15000),"","Total",SUMIF(C5:C14,">15000"))&"</s></t>","//s"),SEQUENCE(COUNTIFS(C5:C14,">15000")+1,3)),"")
我建议保留 15000 作为参考而不是硬编码。
使用来自@JvdV 的索引的想法也有点牵强:
=LET(nrow,COUNTIF(C5:C14,">"&15000),seq,SEQUENCE(nrow+1,3,0),IFS(seq=nrow*3,"",seq=nrow*3+1,"Total",seq=nrow*3+2,SUM(FILTER(C5:C14,C5:C14>15000)),TRUE,INDEX(FILTER(A5:C14,C5:C14>15000),QUOTIENT(seq,3)+1,MOD(seq,3)+1)))
如果您希望使用条件格式将粗体字体应用到使用公式的输出范围
=$F5="Total"
这个有点短。
=LET(f,FILTER(A5:C14,C5:C14>15000),size,ROWS(f),IF(SEQUENCE(size+1)>size,CHOOSE({1,2,3},"","Total",SUM(INDEX(f,,3))),f))