• ベストアンサー

A-1かB-1に~

A-1かB-1に空白がある場合は空白を返し、そうでなければC-1+D-1といったような式を作りたいのですが、どうもできません。 自分で「=IF(OR(A1="",B1=""),"",C1+D1)」といった感じで作りましたが、答えが出ません。  どなたか分かる方教えてください。宜しくお願いします。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.9

No.8です。 >またそのセルに作った式などの答えが0になる場合の >0を非表示にできる関数式などはないですかねぇ。 いくつか方法があります。 (1)ゼロ値チェック メニューの[ツール]→[オプション]→[表示]タブで、 [ゼロ値]チェックを外しておきます。 ただし、シート全体の設定なので、どこかのセルに単純に「0」と入力した場合も、非表示になってしまいます。 (2)表示形式 「0」を非表示にしたいセル(該当数式が入っているセル)の表示形式を、ユーザー定義で、 「G/標準;G/標準;」 にします。 (3)条件付き書式 「0」を非表示にしたいセル(該当数式が入っているセル)に対して、メニューの[書式]→[条件付き書式]で、 「セルの値が」 「次の値に等しい」 「0」 として、[書式]でフォントの色を白(セルの背景色と同じ色)に設定します。 (4)数式 No.7の補足欄でご自身がすでに作成されているように、 =IF(今の数式=0,"",今の数式) とします。 今回の場合は、 =IF(AND(G5="",P5=""),"",IF(N(G5)+P5-W5=0,"",N(G5)+P5-W5) という風になりますね。

minokan
質問者

お礼

とても参考になりました。丁寧に教えていただき本当にありがとうございます。また分からないことがありましたときには宜しくお願いします。勉強になりました。

その他の回答 (8)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.8

No.6です。 >「=IF(AND(G5="",P5=""),"",G5+P5-W5)」 これで、多分わかりました。 質問欄の最初の数式では、IFの条件で「""」を判定するセル(A1、B1)と計算に使用するセル(C1、D1)が異なっていたので、分からなかったのです。 その部分は実は重要です。 なぜなら、仮に別シートを参照しているG5の値が「""」でも、P5に数値が入っていれば、計算されるわけですが、 「""」であるG5を計算に使用すればエラーになるからです。 さて、G5とP5が両とも空白でない場合は計算するわけですが、どちらかが空白の場合は 空白=0 として計算するのでしょうか? それなら、 =IF(AND(G5="",P5=""),"",N(G5)+P5-W5) とすればいいと思います。 なお、P5とW5には数式は入っておらず、数値のみを手入力する(または空欄のまま)という前提です。 そうでないなら、この2つもN関数で括っておいて下さい。 N関数は、文字列(「""」も含む)を「0」にする関数です。 詳細はヘルプで。

minokan
質問者

補足

すばらしい回答ありがとうございます。 #7様のお礼の欄に書きましたような式など、このN関数を使えばもともとある式は変更しなくても良いのでしょうか? またそのセルに作った式などの答えが0になる場合の0を非表示にできる関数式などはないですかねぇ。 いろいろとすみませんが、宜しくお願いします。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.7

#4の補足部分で >ただA1に個数が入り、B1が空白の場合はうまくいくのですが、逆にB1に個数が入り、A1が空白の場合はエラーが出てしまいます。 =IF(AND(A1="",B1=""),"",C1+D1)か =IF(AND(B1="",A1=""),"",C1+D1) であれば、エラーは出ないはずです。 AND、OR、IFはTRUEかFALSEかどちらかしか値を返さないですから、その値(TRUEなど)を結果の式(C1+D1で)使ってもいないので、絶対エラーには成りません。 (1)エラーになる (2)思った、あるいはなるべき値にならない は質問の場合は峻別して表現してください。 どちらでしょうか。 C1+D1は架空の例で、隠した本当の別の式があるのでは。

minokan
質問者

お礼

原因が分かりました。 G5にある「='4月'!AD5」、このAD5に「=IF(G5+P5-W5=0,"","",G5+P5-W5)」といったような式が問題みたいです。 ただのG5+P5-W5では問題ないです。 答えに0値が多いのでこのような式を自分で作りましたが、やっぱり0は消したいのですが、なにかうまくいく方法はないでしょうか?

minokan
質問者

補足

皆さん、いろいろと答えていただきありがとうございます。 本当の式はこのように作っています。 「=IF(AND(G5="",P5=""),"",G5+P5-W5)」 G5=には「'4月'!AD5」と入っているだけでP5,W5には必要に応じて数を入れるといったかたちです。 G5とP5に数が入る場合:○ G5に数が入りP5に数が無い場合:○ P5に数が入りG5に数が無い場合:エラー このような感じですが、自分ではもう分かりません。お願いします。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.6

No.5です。 エラーが出る行のどこか別の列のセルに、 =C1+D1 (行番号はその行で) と直接入力してみて下さい。 エラーになりますか?

minokan
質問者

補足

ありがとうございます。 直接入力すれば大丈夫なんですが、前の月のシートを参照したいのでもう一度入力するといったかたちは取りたくないのですが、無理ですかね? 前の月のシートを参照にしているのがエラーの原因ぽいですね。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.5

No.1です。 No.4の補足欄について。 ANDを使用したということは、 =IF(AND(A1="",B1=""),"",C1+D1) という数式ということでしょうか? エラーが出る行のC列とD列には何が入っていますか?

minokan
質問者

補足

C,Dには個数を入れるだけなので、式などはありません。ただ数字を入れるだけです。 また「=IF(AND(B1="",A1=""),"",C1+D1)」と反対にしてみましたが結果は同じでした。

  • KYOSEN
  • ベストアンサー率22% (68/300)
回答No.4

たしかに上手くいきます 仮に上手くいかなかった場合は COUNTBLANKという関数でも同じことができます =COUNTBLANK(範囲) で空白セルの個数が引き出せます。

minokan
質問者

補足

皆様いろいろと答えてくださりありがとうございます。 たった今いろいろ試してみたところ、自分のやりたいのは「OR」ではなく「AND」を使ってみたところできました。すみません。 ただA1に個数が入り、B1が空白の場合はうまくいくのですが、逆にB1に個数が入り、A1が空白の場合はエラーが出てしまいます。 何がいけないのでしょうか?この対処法があるのなら教えてください。お願いします。

  • ryon2
  • ベストアンサー率37% (110/292)
回答No.3

あなたの作った数式でうまく作動しましたよ。 タイプミスか何かではありませんか? 括弧を全角にしているとか、オーとゼロを違えているとか、C1に文字列が入っているとか・・・。 当方はエクセル2000でやってみました。

回答No.2

試してみましたが、 =IF(OR(A1="",B1=""),"",C1+D1) でうまく動きますよ? #1の方も書かれてますが、どう答えが出ないのか、ちゃんと書いて下さいね。 それと「A-1」という表記は、紛らわしいです。 A1と書いたほうがいいと思います。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 =IF(OR(A1="",B1=""),"",C1+D1) という数式で問題ないように思いますが。 "答えが出ない"とは、具体的にはどういうことでしょうか? エラーが出る? 希望する表示にならない? その場合は、A1:D1に何が入っていて、この数式のセルにどう表示されているのか、そして本当はどう表示させたいのか? 上手くいかなかった時の具体例を提示して下さい。

minokan
質問者

補足

早速の回答ありがとうございます。 前の月の物の数がどれぐらいあるかといった感じの表を作成してます。 確かにA1には前のシートのセルを参照する(=4月!E1といったような)かたちになっています。 A1以外は入力するかたちです。 またエラーは出ません。全て空白になってしまいます。 ということはA1の式がいけないみたいですね。なにか改善策のようなものはありますか?お願いします。

関連するQ&A

専門家に質問してみよう