• ベストアンサー

EXCELでの足し算でVALUEを無視したいのですが・・・

エクセルの足し算で、SUMで足し算をしたいのですが 範囲内にひとつでも #VALUE! があると答えは #VALUE!に なってしまいますよね? この#VALUE!は無視して足し算をすることは可能なのでしょうか? 可能であればどのようにしたらできるのでしょうか? 質問ベタで申し訳ございません。 どうぞお知恵をお貸しくださいませ。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.5

#1です。 >=((LEFT(E3,2)*60+MID(E3,4,2))*60+MID(E3,7,2))*30+RIGHT(E3,2) だとE3の長さが8桁以上でないとエラーになります。状況から考えると "11:22:33:44"で11桁のような感じなので =IF(LEN(E3)=11,((LEFT(E3,2)*60+MID(E3,4,2))*60+MID(E3,7,2))*30+RIGHT(E3,2)) としてはいかがでしょうか?

maxsnow
質問者

お礼

何度もお力添えありがとうございます。 やってみたところFALSEと出ますが、SUM計は出るようになりました! ありがとうございます!!

その他の回答 (6)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.7

#6 の #>この#VALUE!は無視して足し算をすることは可能なのでしょうか? #=SUMPRODUCT(N(A1:A10)) #とすれば可能ですが 私の思い違いでした。こういう書き方ではなくて、ツール-オプション-移行[タブ]  計算方法を変更する にチェックを入れれば出来るということでした。後は、そのまま、SUMで計算可能です。古い機能を関数で残しているはずだったと思ったのですが……。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

こんばんは。 >この#VALUE!は無視して足し算をすることは可能なのでしょうか? =SUMPRODUCT(N(A1:A10)) とすれば可能ですが、 >=((LEFT(E3,2)*60+MID(E3,4,2))*60+MID(E3,7,2))*30+RIGHT(E3,2) もともと、こういう式は、ある種の条件で出来上がったものだろうから、どういう約束事があるかは分かりませんが、必ずしも、その数式ではうまくないということを意味しているのだろうと思います。 これ自体は、区切り文字の切り分けの問題なんだろうと思います。 だから、区切り位置を使って切り分けてもよいのですが、それだと4つの列が必要になるのです。本来関数でも可能ですが大きくなりすぎるので、簡単なユーザー定義関数を作って切り分けてもよいかと思います。 どんな入力がされているか分かりさえすれば、またエラーを出さない方法はあると思います。

回答No.4

ひょっとして、「_セル範囲_」、そのまま入力しませんでした? 「A1:A10」とか、Excel所定のセル範囲指定入力してもらうつもりだったんですが。 Excelの「SUMIF」関数ヘルプも参照してください。

maxsnow
質問者

お礼

ありがとうございます。 セル範囲は入力したのですが・・・。 いくつかの数式を混ぜているので単純にいれるとダメなんでしょうか?

回答No.3

次式でできませんか。 =SUMIF(_セル範囲_,"<>#VALUE!",_セル範囲_)

maxsnow
質問者

お礼

ありがとうございます。 試したのですが、 今度はNAME?と出てしまいました・・・。

  • almalon
  • ベストアンサー率46% (22/47)
回答No.2

ISERROR関数を使うと可能かと思います。 エラー値が出た時にTRUEを返しますので、「#VALUE!」がでるセルの数式を、下のようにすれば#VALUE!が出なくなるので、SUMに反映されません。 例えば#VALUE!が出るセルに入っている数式がVLOOKUP(***)とすると、 =IF(ISERROR(VLOOKUP(***)),"",VLOOKUP(***)) #VALUE!を表示させたまま反映させたくないとのことでしたら、すみません、よくわかりません…。

maxsnow
質問者

お礼

ありがとうございます。 試したのですが、NAME?となってしまいます。 ちなみに足し算したいものがVTRの編集用のもので 一度引き算で時間を算出し、 =((LEFT(E3,2)*60+MID(E3,4,2))*60+MID(E3,7,2))*30+RIGHT(E3,2) にて30進と60進を混在させた時間を合計したいのです・・・。 上記のものもこちらの教えてgoo!で知ったものなのでまったくの初心者なんです・・・。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

方法1(元のエラー値をなくす) そもそもの#VALUE!を出さないように、元の式をIF文等で制御する。 =A1+A2+A3 → =SUM(A1:A3) 'A1:A3に文字があっても除いて集計 =IF(ISERROR(数式),"",数式) '計算結果がエラーの場合、""を返す 方法2(配列数式でエラー値を除いて計算) =SUM(IF(ISERROR(範囲),"",範囲)) と入力してCtrl+Shift+Enterで抜ける

関連するQ&A