Excel:如何跳過陣列中的特定行

Excel:如何跳過陣列中的特定行

我試圖跳過數組中的特定行,而不是值。

例如,假設我們在 A 列:

0
3
0 <--- Row 3
0

我怎麼能跳過A1:A4中的第三行,所以small(A1:A4, 2)可以等於0,而small(A1:A4, 3)可以等於3。

我想跳過特定行,而不是值。我無法切換行,我需要一個忽略數組中特定行的公式

感謝您的幫忙!

答案1

另一種方法是使用INDEX函數建立您希望保留的行的數組(創建此數組的方法有很多)。在您的具體範例中,使用AGGREGATE而不是SMALL

=AGGREGATE(15,4,INDEX($A$1:$A$4,IF(1,N({1,2,4}))),2)

在此輸入影像描述

如果您只有四行並且只想忽略一行,那麼該方法並不重要。如果您的範圍較大,並且選擇要忽略的行更加複雜(並且不只一個),則建立要保留的行號數組可能會更簡單。

答案2

如果要對數字求和,請使用 SUMPRODUCT:

=SUMPRODUCT((ROW(A1:A4)<>3)*(A1:A4))

如果您打算做其他任何事情,那麼很可能您需要一個陣列輸入公式,其中包含 和 IF :

IF(ROW(A1:A4)<>3,A1:A4)

這將使公式成為陣列公式,退出編輯模式時需要使用 Ctrl-Shift-enter 而不是 Enter 進行確認。

例如,如果我們想要 MAX:

=MAX(IF(ROW(A1:A4)<>3,A1:A4))

使用 Ctrl-Shift-Enter 輸入。

對於小:

=SMALL(IF(ROW(A1:A4)<>3,A1:A4),3)

使用 Ctrl-Shift-Enter 輸入將傳回3not0

在此輸入影像描述


AGGREGATE 的另一種形式與上面的小形式相同:

=AGGREGATE(15,7,A1:A4/(ROW(A1:A4)<>3),3)

答案3

跳過 A1:A4 中指定的第 3 行

試著輸入這個正常公式:

=SMALL(IF({1;1;0;1},A1:A4),3)

將返回結果3

和,

=SMALL(IF({1;1;0;1},A1:A4),2)

將返回結果0

相關內容