• ベストアンサー

エクセルの条件文が長すぎて・・・

エクセルで合計値を求めるための条件に苦戦しています。 A1が「a」かつA2が「b」の場合B1の数値をZ1に加える。というものですが、 それだけなら =IF(AND(A1=a,A2=b),B1,0) とかで大丈夫だとは思うのですが、 問題は上の条件文で数値を加えるかどうかを判断するB1のようなセルが35個あります。 Z1に=IF(AND(A1=a,A2=b),B1,0)+IF(AND(C1=a,C2=b),D1,0)+ ・・・ なんてしようものなら文が長くなりすぎて条件文が書けなくなってしまいます。 だからといって、他のセルを使うのはレイアウト上避けたいです。 A1、A2、B1などの配置もレイアウト上変えたくはありません。 面倒だとは思いますが、Z1に収まるように上手く出来ないでしょうか? ご指南お願い致します。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

一例です。 A1・B1・・・X1まで偶数列を加算しています。 =SUMPRODUCT((MOD(COLUMN(A1:X1),2)=0)*(A1:X1)) 又、A1:X1の奇数列に数値入力がなければ、=SUM(A1:X1)で合計できますが如何でしょうか。

kaoruk_goo
質問者

お礼

なにやら普段使わない関数ですが・・・ かなり良さそうです。 まだ試してはいませんが、問題解決しそうです^^ ご回答ありがとうございます。

その他の回答 (2)

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.2

>他のセルを使うのはレイアウト上避けたいです そういうときのための2枚目のシートなんですが・・・。 =IF(AND(sheet1!A1=a,sheet1!A2=b),sheet1!B1,0) こいつをsheet2にセルの個数分作って加算すれば済むだけの話 ではないかと思います。変に長い式を入れると、メンテナンス するときに訳が分からなくなって困りますよ。

kaoruk_goo
質問者

お礼

シートを使うのがいいみたいですね。 どうやら今の表は色々改良点は多いみたいな気がします^^; 参考にしたいと思います。 ご回答ありがとうございます。

  • pentium100
  • ベストアンサー率45% (689/1517)
回答No.1

VBAでユーザー関数を作ると幸せになれる。

kaoruk_goo
質問者

お礼

ご回答ありがとうございます。 VBAですか。なるほど・・・。 また覚えなきゃいけないことが増えそうです^^;