質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%

Q&A

3回答

715閲覧

エクセル IF関数について

K.Kawashima

総合スコア9

0グッド

0クリップ

投稿2023/01/10 02:03

編集2023/01/10 05:44

前提

セルにデータが入ったときのみ計算する

実現したいこと

A1のセルにB1とC1を足したのを入れる
B1のセルには固定数が入り
C1のセルには変数が入り、

A1はC1が空白の時はA1も空白
C1に数字が入った時はA1のセルに表示

発生している問題・エラーメッセージ

Aのセルに
IF(A1="","",B1+C1)
と書いて
C1に数値が入ってもA1に表示されない状態です
///////////////////////////////////////////////////////////////////////////

現在
アドバイスのもと
IF(C1="","",B1+C1)
にしましたが
C1に関数が入っている為かA1にB1の値が表示されてしまいます。

試したこと

IF関数が反応しない場合として
「ファイル」→「オプション」→「数式」をクリックし、「計算方法の設定」を自動か確認

C1に数値が入った場合として
IF(A1="",ISNUMBER(C1),B1+C1)
→A1に表示されず

IF(C1="","",B1+C1)を書きましたが
C1に関数が入っている為かA1にB1の値が表示

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

novelistory

2023/01/10 02:44

>A1に1300と表示したい ⇒A1にExcel関数を記載して計算して表示したいということでしょうか? >IF(A1="","",B1+C1) ⇒この関数はA1に入力しているということでしょうか?  これだとA1はIF関数の判定に使われています。  B1+C1が行われるには、A1に何か入力する必要があります。  しかし、A1に何か入力したときはExcel関数が消えてしまうので計算が行われないのではないでしょうか?
K.Kawashima

2023/01/10 03:10

レスありがとうございます。自分の読解力に自信がないのですが A1のセルに足した数値を入れたい場合、 関数を IF(A1="","",B1+C1)のA1=ではなくB1orC1にした方がイイと言う事でしょうか?
novelistory

2023/01/10 03:31

>A1=B1+C1 と入った時A1に1300と表示したいです。 ⇒「A1=B1+C1」はどこに入るのでしょうか?  B1に500、C1に800と入力された際に、A1に1300と表示したいのではないかと推察しましたが、  記載いただいた質問文と差異があるため確認させてください。
K.Kawashima

2023/01/10 03:55

すみません、自分の書き方が悪かったです。 A1=B1+C1はA1のセルにB1とC1を足したものを書きたくて書きました。 確かに分かり難いですみません やりたい事は A1のセルにB1とC1を足したのを入れる B1のセルには固定数が入り C1のセルには変数が入り、                A1はC1が空白の時はA1も空白 C1に数字が入った時はA1のセルに表示 現在 Aのセルに IF(A1="","",B1+C1) と書いてある状態です。 メインの質問文を書き換えます。すみません
guest

回答3

0

IF関数だけでなく、OR/ANDとISBLANKを使えば質問の意図が可能かと思います。

A列B列C列A列式
1300500800IF(OR(ISBLANK(B1),(ISBLANK(C1))),"",B1+C1)
500500IF(AND(ISBLANK(B1),(ISBLANK(C1))),"",B1+C1)

ISBLANK(対象セル)は対象のセルが空白であればTrue,空白でなければFalseとなります。
OR(条件1,条件2)は条件1と条件2のどちらかがTrueとなれば、Trueになります。
AND(条件1,条件2)は条件1と条件2のどちらもTrueとならなければ、Trueになりません。

1行目はIFの条件式にORを使用しているので、BとCのどちらかが空白だとA列は計算されずに空白となります。
2行目はIFの条件式にANDを使用しているので、BとCのどちらかが空白でもA列に値が表示されるようになります。

”BとCの両方に値が入っているときのみ計算したい場合”と”BまたはCのどちらかに値が入っているときにも計算したい場合”で使い分けるようになるかと思います。

投稿2023/01/10 03:49

編集2023/01/10 03:50
TKMoon

総合スコア79

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K.Kawashima

2023/01/10 05:16

レスありがとうございます。 一先ず、1行目を使わしていただき C1に関数が無かった時は解決できましたが、 C1に関数式が入っている場合 A列にB列(固定数)が表示されてしまいます。 COUNTBLANKを使ってみましたが、思うようにいきませんでした。 できればアドバイスを頂きたいです。お願い致します。
TKMoon

2023/01/10 05:36

COUNTBLANKはセルに式のみが入力されていれば1, 空白なら0なのでそれを利用してもう1つIFを使えばよいと思います。 例えば下記のものだとどうでしょうか? =IF(OR(ISBLANK(B2), IF(COUNTBLANK(C2),TRUE, FALSE)),"",B2+C2) Excelで複雑な式を組んでしまったときは、()が紛らわしいので1つ1つ分解してそれぞれセルに分解して値を確認するとよいかと思います。 この例だと、 1. =COUNTBLANK(C2)をどこかのセルに入力 2. C2セルには適当な式を入力(例:E2がTrueならC2には200と表示(=IF(E2=TRUE,200,"") 3. C2セルに値が表示される/されないを変更し式の値を確認(E2にTRUE/それ以外を入力) 4. 関数の挙動が確認できたら1つにまとめる。
K.Kawashima

2023/01/10 07:22

申し訳ありませんがもう少し詳しくアドバイスをいただきたいです 別シートで集計している「●」を数えていまして 上記のB2セルに相当するセルには 固定値 500 上記のC2セルに相当するセルには =COUNTIFS(集計シート!:B:B",>=2023/1/1,集計シート!:B:B",<=2023/1/31,集計シート!:C:C,"●") 「3. C2セルに値が表示される/されないを変更し式の値を確認(E2にTRUE/それ以外を入力)」とありますが 自分の場合、COUNTBLANKの使用はふさわしくないのでしょうか?
TKMoon

2023/01/10 07:43

> 自分の場合、COUNTBLANKの使用はふさわしくないのでしょうか? C2セルにCOUNTIFSが入っているのであれば、COUNTBLANKを使用する必要はないと思います。 COUNTIFSが正しければ、そのセルには常に数字が入るので。 >上記のC2セルに相当するセルには >=COUNTIFS(集計シート!:B:B",>=2023/1/1,集計シート!:B:B",<=2023/1/31,集計シート!:C:C,"●") COUNTIFSにエラーが無ければ、C2セルには数字が入ってくるので、 A2セルにB2セル:500とC2セル:●の数の合計が計算されます。 もしC2セルに#VALUE!等の文字列が入るのであればそれはCOUNTIFSが間違えていることになります。 (その場合は別トピックとして質問orググるのが良いと思います。)
K.Kawashima

2023/01/10 08:36

いろいろ指導ありがとうございます 解決できました。
guest

0

A1のセルに

=IF(C1="","",B1+C1)

ではダメなんです?

追記

A列

1=IF(C1 = 0,"",B1+C1)

C1が空白のとき、または0のときAを空欄にします。

投稿2023/01/10 05:21

編集2023/01/10 06:57
ALOHAMS

総合スコア195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K.Kawashima

2023/01/10 05:48

レスありがとうございます。 C1には関数が入っている為か B1の値がA1に表示されてしまいます。 もし、改善案をご存じでしたら、申し訳ありませんがアドバイスをお願い致します。
ALOHAMS

2023/01/10 05:52 編集

関数が入ってるC1はどのように表示されているんです? 文字列とか0とかですかね? 出来れば具体例が欲しいです
K.Kawashima

2023/01/10 06:36 編集

レスありがとうございます。 C1列には別シートでチェックした「●」を集計した数式が入っています =COUNTIFS(集計シート!:B:B",>=2023/1/1,集計シート!:B:B",<=2023/1/31,集計シート!:C:C,"●")
ALOHAMS

2023/01/10 06:56 編集

C列に上記の式が入っていており、空白なのであれば「ゼロの値のセルにゼロを表示する」オプションが外れているため、空白に見えているだけであって実際は0が入っているんだと思います。 そのためAにはBの値+Cの値(0) = Bの値が入るんですね。 なのでA列に=IF(C1 = 0,"",B1+C1)で解決できるんじゃないでしょうか?
K.Kawashima

2023/01/10 08:37

レスありがとうございます。 解決のきっかけになりました。 いろいろとご指導ありがとうございました。
ALOHAMS

2023/01/11 01:13

自己解決したのならばよかったと思います。 解決した方法を回答欄から送信した後、ご自身の回答をベストアンサーにして本質問を閉じてください。
guest

0

IF(A1="","",B1+C1)

これでは、A1が空白のときは、空白を表示する、ってことになってますが、そんでいいんでしょうか

投稿2023/01/10 02:10

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K.Kawashima

2023/01/10 02:31

A1が空白のときは、空白を表示 で B1やC1に数値が入った時、A1に表示したいです
y_waiwai

2023/01/10 02:38

これではそうはなってませんねー IF文の解説をよく読もう
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問