N / A値でセル範囲を合計する方法は?


11

範囲があり、SUM関数を使用して合計する必要がありますが、N / A値がある場合、結果はN / Aになります。N / A値を0値として処理するSUM関数を作成するにはどうすればよいですか?助けてください!

回答:


16

配列数式を使用する

=SUM(IF(ISNA(A1:A4),0,A1:A4))

数式を入力した後、Ctrl+ Shift+を押しますEnter

注:A1:A4範囲に置き換えてください


1
+1:私のソリューションの素晴らしい改善-元のデータを変更する必要はありません。
マイクフィッツパトリック

1
いいね 配列数式の使用を考えたことがありません。= SUMIF(A1:A4、 "<>#N / A")の使用に満足していましたが、別の言語にローカライズされたExcelのコピーでスプレッドシートを開くと破損することがわかりました。残念ながら、「<>#N / A」を「ISNA()」に置き換えても機能しませんが、配列式は多言語対応の優れたソリューションです。悲しいことに、AVERAGEIF()を使用した同じチャレンジには適切なアプローチではありません…:-(
ジョーキャロル

@JoeCarrollは、使用することができます=AVERAGE(IF(ISNA(A1:A4),"",A1:A4))
ウィルソン

ありがとう@wilson!簡単に考えてみると、ゼロの代わりに ""を使用することは考えませんでした、ばかげた:-)ゼロを使用すると、当然、サンプルサイズに影響します。
ジョーキャロル

魔法のCr @ pXcel 2013では機能しませんが、以下の回答(=集計)は魅力のように機能します!

5

最も簡単な方法:

SUMIF値> 0を使用します。

そのため、その構文は

=SUMIF(A1:B2, "> 0")

非数値または0の値は無視されるため、同じ結果が得られます。


2
あなたの提案は負の数では機能しません。とにかくありがとう。
ナムG VU

1
=SUMIF(A1:B2, ">=0") + SUMIF(A1:B2, "<0")負の数を含めることができます。パフォーマンスが懸念される場合、受け入れられている配列数式ソリューションよりも高速になると思います。
kizzx2

3

Excelには、NAを無視して正または負のすべての値を追加する新しい関数があります。

=aggregate(9,6, range of your data) 

9は合計に使用され、6はすべてのNAを無視するために使用されます。追加以外にも他のオプションがあります。たとえば、製品、標準偏差などを実行できます。

AGGREGATEの詳細については、こちらをご覧ください


Excel 2010以降のエレガントなソリューション:)
ウィルソン

0

代わりにSUBTOTALを使用してください。

=SUBTOTAL(9,A1:A50)

私がしようとしてsumtotalいますが、私はと同じ問題を抱えていますsum
-fguillen


0

数値としてコピーする数式がある場合は、列の#N / Aを0に置き換えてから、通常どおり合計します


-1

このように動作するようです:

SUMIF(range;"<>#N/A";range)

それほど堅牢ではありませんが、効果的です!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.