2016-08-25 8 views
0

Excelを使用して、上位3つの値以外の範囲の値の合計を取得したいと考えています。Excel:範囲内のトップ3以外の値を合計

範囲には無視したい#N/A値があります。

水平の範囲です。

例として上位4つの値がすべて8の場合、私は8つのうち3つを合計から除外したいだけです。

私は次の関数を使用して、範囲内のトップ3の値を合計するために管理している:

=SUM(LARGE(IF(NOT(ISNA(AW2:BH2)),AW2:BH2),{1,2,3})) 

私はそこに、私は上記に作ることができる小型の調整があるが、私の脳が働いていないと仮定します。

+1

なぜあなたは全体の範囲を合計してからトップを差し引かないのですか? –

答えて

2

あなたはエラーを無視するAGGREGATE機能を使用することができます。

=AGGREGATE(9,6,AW2:BH2)-SUMPRODUCT(AGGREGATE(14,6,AW2:BH2,{1,2,3})) 

Function_num 9 = SUM

Function_num 14 = LARGE

オプション6 =無視エラー

あなた行に3つ未満の値がある場合はエラーが発生します。問題がある場合は、COUNTまたはIFERRORのいずれかを使用してトラップできます。

+0

私よりもずっと優れています! –

+0

@ XORLXありがとうございます。あまりにもしばしば、私はそれが比較的最近の追加であるので、「集約」機能を考えていない。 –

1

配列式**

=SUM(IF(ISNUMBER(AW2:BH2),IF(1-ISNUMBER(MATCH(AW2:BH2+COLUMN(AW2:BH2)/10^6,LARGE(IF(ISNUMBER(AW2:BH2),AW2:BH2+COLUMN(AW2:BH2)/10^6),{1,2,3}),0)),AW2:BH2)))

よろしく範囲AW2:BH2の値は1E-6よりも大きなオーダーのものとする

**配列式は、「標準」式と同じ方法で入力されません。 ENTERだけを押すのではなく、まずCTRLとSHIFTを押したまま、ENTERを押します。正しく実行した場合、Excelは式の中に{}の中括弧を挿入します(手動では挿入しないでください)。

関連する問題