向下拖动公式时向右移动

向下拖动公式时向右移动

我有一个 SUMIF 公式如下:=SUMIF($B$2:$B$5758,">1",N$2:N$5758)

能不能让这个公式抄下来后就变成=SUMIF($C$2:$C$5758,">1",N2:N5758)等等?

答案1

INDEX函数使这变得容易。假设您不想引用任何比列更左边的列Z(根据需要调整),并且第一个公式的起始单元格是A2(根据需要调整),那么您可以在A2向下复制时使用此公式

=SUMIF(INDEX($B$2:$Z$5758,0,ROWS(A$2:A2)),">1",N$2:N$5758)

INDEX以零作为行引用将返回整列,具体列由函数确定,ROWS该函数在向下复制时每行加 1,因此每次向右移动一列。

INDEXOFFSET通常比使用或的任何解决方案更可取,INDIRECT因为这两个函数是不稳定的 - 这意味着每次重新计算工作表中的任何内容时,公式都会重新计算

答案2

您可以尝试这样的操作它会根据行位置调整列值,但您可以将其调整到 A2 中的起始位置

=SUMIF(INDIRECT(ADDRESS(2,ROW()+1)&":"&ADDRESS(5758,ROW()+1)),">1",$N$2:$N$5758)

如果 N 列也需要调整 sumif,则对 A3 中的操作也进行相同操作

=SUMIF(INDIRECT(ADDRESS(2,ROW()+1)&":"&ADDRESS(5758,ROW()+1)),">1",INDIRECT(ADDRESS(2,ROW()+12)&":"&ADDRESS(5758,ROW()+12)))

答案3

更简单的解决方案,只需制作公式并将其拖到右侧,锁定行(带有 $ 符号),然后将它们复制并“粘贴转置”到您想要的位置。

相关内容