値ではなく、配列内の特定の行をスキップしようとしています。
たとえば、A 列にいると仮定します。
0
3
0 <--- Row 3
0
A1:A4 の 3 行目をスキップして、small(A1:A4, 2) を 0 に、small(A1:A4, 3) を 3 にするにはどうすればよいでしょうか。
値ではなく特定の行をスキップしたいのですが、行を切り替えることはできません。配列内の特定の行を無視する数式が必要です。
ご協力ありがとうございました!
答え1
答え2
数値を合計する場合は、SUMPRODUCT を使用します。
=SUMPRODUCT((ROW(A1:A4)<>3)*(A1:A4))
他に何かを行う場合は、おそらく、内部に IF を含む配列入力式が必要になります。
IF(ROW(A1:A4)<>3,A1:A4)
これにより、数式は配列数式になり、編集モードを終了するときに Enter キーではなく Ctrl + Shift + 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で入力すると3
、0
上記の小さいものと同じ 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