使用动态范围使用Sumifs公式

问题描述 投票:0回答:2
我想知道我是否有一种方法可以在动态范围内使用以下SUMIFS公式,而无需单击公式并拖动以每次手动捕获整个范围

=SUMIFS($I$58:$I$573,$J$58:$J$573,"OK",$F$58:$F$573,C3,$C$58:$C$573,B3)

	
excel formula
2个回答
1
投票
sumifs

函数并包装offset函数。 OFFSET(reference, rows, cols, [height], [width])

将$ i $ 58作为偏移函数中的参考,然后替换sum_range,criteria_range1等。
接下来的时间,只需更改公式中的一些数字,但是您需要执行一些计算器。
希望它有帮助。

注:

=SUMIF(A2:A10,A2,B2:B10) =SUMIF(OFFSET(A2,0,0,9,1),A2,OFFSET(B2,0,0,9,1)) =SUMIFS(I58:I573,J58:J573,"OK",F58:F573,C3,C58:C573,B3) =SUMIFS(OFFSET(I58,0,0,516,1),OFFSET(J58,0,0,516,1),"OK",OFFSET(F58,0,0,516,1),C3,OFFSET(C58,0,0,516,1),B3)

任期

i我注意到由于重复的最后一行计算,我的先前公式(现在已删除)的执行速度慢于挥发性函数(??)。  简单的解决方案是要么具有明确说明最后一行的单元格,要么只使用
LET函数

0
投票
=LET(lastRow,MAX(FILTER(ROW(J:J),J:J<>"")), SUMIFS( $I$58:INDEX($I:$I,lastRow,1), $J$58:INDEX($J:$J,lastRow,1),"OK", $F$58:INDEX($F:$F,lastRow,1),C3, $C$58:INDEX($C:$C,lastRow,1),B3))

我还注意到,接受的答案简单地编码了最后一行(对我来说,这似乎打败了这个问题的全部目的,但我离题了)。此函数的作用完全相同,但不是一个volaTile函数。坦率地说,这似乎不仅仅是使用常规范围,但是再次...我离题...

=SUMIFS($I$58:INDEX($I:$I,573),1),$J$58:INDEX($J:$J,573,1),"OK", $F$58:INDEX($F:$F,573,1),C3,$C$58:INDEX($C:$C,573,1),B3)


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.