みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excelの関数について

[C1のセル値]-[A1またはB1のセル値]
を使って計算したい場合の計算式を教えて下さい。

A列、B列、C列には具体的な数値を入力します。
D列にその結果を表示させる関数を入力したい。
と考えています。

但し、以下の条件を満たす事が必須となります。
(1)A、B、またはCのセルが未入力の場合はDは空白セルのまま。
(2)A、Bいずれかの一方が入力されている場合はCの値を使って計算し結果を表示。
(3)A、Bいずれも入力されている場合はBを優先してCの値を使って計算し結果を表示。

よろしくお願いします。

投稿日時 - 2012-02-24 00:36:57

QNo.7323589

困ってます

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

提示の条件をそのまま数式にすると以下のようになります。

=IF(OR(AND(A1="",B1=""),C1=""),"",C1-IF(B1<>"",B1,A1))

投稿日時 - 2012-02-24 00:57:57

お礼

まさしくその通りです。ありがとう御座いました。
意図するカタチで表示されました。

投稿日時 - 2012-02-24 07:18:20

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

添付図:
1)Cが空白じゃなく,かつAB両方が空白ではない時に計算する
2)Bが空白じゃない時にはB,そうでなければAを引く

=IF(AND(C1<>"",A1&B1<>""),C1-IF(B1<>"",B1,A1),"")

投稿日時 - 2012-02-24 01:35:25

お礼

図解入りでご説明戴きありがとう御座います。
私の理解力が乏しい為に、マッチングしているか判断付かず、今回ベストアンサーを見送ってしまいましたが、なるほど!どうして、計算式がこちらの方が短くスマートだったかもしれませんね。
出来るならこちらもベストアンサーとして評価したかったです。
勉強になりました。ありがとう御座います。

投稿日時 - 2012-02-24 07:40:44

ANo.3

#1です。
私の勘違いでした。たぶん、「(1)AもBも未入力か、Cが未入力のとき、」
ということね。

だったら、そのまま、
D1:
=IF(OR(AND(A1="",B1=""),C1=""),"",IF(OR(A1="",B1=""""),C1-MAX(A1,B1),C1-B1))

勘違いしたから、おかしくなってしまった。

投稿日時 - 2012-02-24 01:03:12

お礼

訂正ありがとうございます。

投稿日時 - 2013-11-21 13:11:23

ANo.1

(1)、(2)、(3)の条件だと、不備がある。
(1)は「Cのセルが未入力の場合」として、A、Bについてはいらないのではないか。
だったら、
D1:
=IF(C1="","",IF(OR(A1="",B1=""),C1-MAX(A1,B1),C1-B1))

投稿日時 - 2012-02-24 00:55:45

お礼

早速の回答ありがとうございます。
残念ながら今回の場合、Cセルに入力値がある場合Dセルにその値が反映されてしまうとなると、目的に合いませんが、…なるほど、これはこれで役に立つ事があります。っというか、そうしたい場合も過去に遭遇しています。
勉強になりましたありがとう御座いました。

投稿日時 - 2012-02-24 07:09:34

あなたにオススメの質問