我有下面的公式,我想水平拖动,但是行(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))