Excel - 当我拖动时,我需要 ROW 公式向下移动

Excel - 当我拖动时,我需要 ROW 公式向下移动

我有下面的公式,我想水平拖动,但是行(1:1)垂直变化,例如变成行(2:2), ETC。:

=IF(ISERROR(INDEX($B$1:$C$800,SMALL(IF($C$1:$C$800=S$2,ROW($C$1:$C$800)),ROW(1:1)),1)),"",INDEX($B$1:$C$800,SMALL(IF($C$1:$C$800=S$2,ROW($C$1:$C$800)),ROW(1:1)),1))

我怎样才能做到这一点?

答案1

你所要求的是不可能的。但你要求错了。如果你想让公式中的某个项在向右拖动时增加,请使用COLUMN(A:A) (或,其中COLUMN(An)n是任何有效的行号)。

答案2

要回答您的实际问题,您能做的最好的事情就是1:1用替换OFFSET(1:1,COLUMN()+0,)1:1实际上不会改变,但结果将与改变时相同。

=IF(ISERROR(INDEX($B$1:$C$800,SMALL(IF($C$1:$C$800=S$2,ROW($C$1:$C$800)),ROW(OFFSET(1:1,COLUMN()+0,))),1)),"",INDEX($B$1:$C$800,SMALL(IF($C$1:$C$800=S$2,ROW($C$1:$C$800)),ROW(OFFSET(1:1,COLUMN()+0,))),1))

根据您使用公式的方式,更好的解决方案是替换ROW(1:1)COLUMN()

=IF(ISERROR(INDEX($B$1:$C$800,SMALL(IF($C$1:$C$800=S$2,ROW($C$1:$C$800)),COLUMN()),1)),"",INDEX($B$1:$C$800,SMALL(IF($C$1:$C$800=S$2,ROW($C$1:$C$800)),COLUMN()),1))

相关内容