我有一个 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,因此每次向右移动一列。
INDEX
OFFSET
通常比使用或的任何解决方案更可取,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
更简单的解决方案,只需制作公式并将其拖到右侧,锁定行(带有 $ 符号),然后将它们复制并“粘贴转置”到您想要的位置。