- ベストアンサー
SUM関数の範囲に#N/Aがあっても合計してくれる計算式
A列に氏名、B列に金額(計算式が入っている)があります。 B列の最終行に合計金額を出したいのですが、 B列に、#N/Aとなるセルがあり、 SUM関数を使うと結果がエラーになります。 なんとかエラー値のセルは無視して合計金額を出す計算式は ないでしょうか。 よろしく御指導下さい。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
=SUMIF(A1:A10,"<>#N/A") または、 =SUMIF(A1:A10,"<"&10^10) ★数値にマイナスが無ければ =SUMIF(A1:A10,">0")
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17069)
総合すると、関数では、3つの方法がある。回答は3つのどれかになろう。 (1)セルの最終の値をエラーが出ないように変える。 空白だと演算でエラーが出る場合、結果を先回りして、思うような、加算などに影響ない値(0や空白等)にしてしまう。 =IF(A1="","",式 (2)計算はさせるが、そしてエラーは出すが、セルの値をエラー値が出ないように変える =IF(Iserror(式),"",式) (3)計算してエラー値が出るところまではそのまま(エラーを出させて)にして、合計などの式で、それの影響が出ないようにする。 =SUMIF(・・ (4)まれに空白値や0でも影響の出ない仕組みの関数がある。 それがどれかを見分けるのも勉強のうち。 例 =AVERAGE(A1:A4) でA3が空白でも正しい平均が出る。 0はデータとみなされる。 ーー セルの値が、0、空白、文字列、スペース、それに結果が該当なしなどが要注意。
お礼
選択肢は2つかと思っておりました。 (1)結果を先回りする・・・のやり方を知りました。 さらに特例も教えてもらい、ありがとうございました。
- masa_019
- ベストアンサー率61% (121/197)
こんにちは。 B1:B10を合計したいとして、 合計を出したいセルに、 {=SUM(IF(ISNA(B1:B10),,B1:B10))} 配列数式なので、 Ctrl + Shift + Enter で式を確定します。
お礼
エクセルの計算式で ,"", しか知らなかったので、 ,, だけで、""が中になくても出来るなんてはじめて知りました。 本当にありがとうござます。
- mitarashi
- ベストアンサー率59% (574/965)
配列数式で行う方法があるそうですが、自分も勉強中なので、参考サイトをお知らせします。 http://office.microsoft.com/ja-jp/excel/HA102284581041.aspx 一番下の方に、 >高度な配列数式の使用例 >エラー値を含む範囲の合計を求める というのがあります。ご参考まで。
お礼
配列数式でこんなサイトがあるなんて知りませんでした。 しかもそのものが載っていてびっくりしました。 今の自分に活かせるものがいっぱい載っていました。 教えて下さってありがとうございます。
- merlionXX
- ベストアンサー率48% (1930/4007)
B列に、#N/Aエラーが出ないようにすればいいのでは? B列の式を =IF(ISNA(今の式),"",今の式) としてみてください
お礼
ご回答をありがとうございます。 ISNAというのもあることを知り、勉強になりました。
- hallo-2007
- ベストアンサー率41% (888/2115)
定番でいえば B列をエラーをなくす式にします。 =IF(ISERROR(今の式),"",今の式) でエラーの時は空白にできます。 見た目も良くなると思いますが。
お礼
ご回答をありがとうございます。
お礼
出来ました!見た目がシンプルな計算式なのにすごいと思いました。 それで御多忙とは思いますが、どうか次の2点について 教えて頂きたく宜しくお願い致します。 (1) =SUMIF(A1:A10,"<>#N/A") の式で、 以前学校で、""は、文字列を囲むときに使うと習ったのですが、 <>#N/A は、文字ではないし、<>の記号まで""の中に入っています。 どうしてでしょうか。(質問の文章がうまく書けなくてすみません。) (2) =SUMIF(A1:A10,"<"&10^10) の式で、 "<"&10^10 の意味と、10と10の間にある^は、なんでしょうか。 細かいことまでお聞きして本当に御面倒をおかけしますが、 宜しく御指導下さい。
補足
すみません。(1)の質問を取り消します。 SUMIF関数の構文で、論理式も""で囲むことは基本でした。