• ベストアンサー

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/17068)
回答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

  • A,Bのチェックをしたときの関数式がわかりません。

    A,B:trueのとき空白□とします。 A:trueB:false△ A:falsaB:true○ A,Bがfalseのとき◇ 囜をチェックを入れたときとします。 A囜B囜のとき空白□、 A囜B□のとき△ A□B囜のとき○ A□B□のとき◇、としたときの A1、B1、C1、D1、E1セル 囜、囜、if(A1,"","○")、if(A1,"","○")、E1のこの式が分かりません。 if(A1,"","○")、if(B1,"","△")、if(A1,"","◇")、if(B1,"","◇") このときの2つチェックを合わせたE1セルの関数式がわかりません。 できないのでしょうか。教えていただけませんか。2010。

  • EXCEL関数について

    いつもお世話になっております。 突然ですみませんが、ご教授ください。 A1に収入、B1に支出、C1に残高、D1に繰越残高とします。 C1に=D1+A1-B1 を入れたいのですが、この時に A1とB1が空白の場合、C1も空白になるような式を入れたいのですが、 C1 =IF(OR(A1="",B1=""),"",D1+A1-B1 と入れても偽の場合の式がVALUEになってしまいます。 どういった式を入力すれば良いか教えてください。 宜しくお願いいたします。

  • IF(B1="","",A1*B1)の合計

    セルC1に次の計算式が入っています。 IF(B1="","",A1*B1) 行9までコピーされています。 C10のセルで SUM(C1:C9) で合計したいと思っています。 B列に空白がある場合、 #VALUE!のエラーとなります。 IF(B1="","",A1*B1) の計算式を残したままで 解決方法はありませんか?

  • A列が空白なら、計算式の入っているB.C・・~列も空白で表示する方法。

    A列に対して、B.C・・~列にそれぞれ違った式が入っています。 A列が空白だと、B列#N/A、C列1 ・・・と、それぞれ答えが返ってきます。 今までは、各B、C・・列に「A列が空白の場合は表示しない」設定を「条件付書式」を使ったり「IF(ISERROR・・」の関数を使ったり 無い知恵と知識を振り絞って悪戦苦闘の末、1列1列・・こつこつ設定していたのですが 「もっと簡単な方法があるのでは??」と都合のいいことを考えました。 しかし、恥ずかしながら私には知識が無いもので、そんな事が出来るのか、また仮に出来るとしても方法がわかりません。 関数でも、条件付書式でも、何でもかまいません。 指定したセルが空白の場合、そのセルに対して数式が入っている他の複数セルにも何も表示しないように一発で出来るようにするには、 どうすればいいのか教えて頂けませんか? 98です。出来るだけ簡単な方法がありがたいです。 余談なのかもしれませんが、B列にはVLOOKUPの関数、C列には「A列内の数字+1」と言う式が入っています。 C列はA列に0と入力しても、空白でも1という答えが返ってきてしまいます。そこでA列が空白の場合答えが表示されないようにしたいのです。) 宜しくお願いします。

  • IF(B1="","",A1*B1)の合計

    セルC1に次の計算式が入っています。 IF(B1="","",A1*B1) 行10までコピーされています。 列Cを =C2+C4+C6+C8+C10 のうように個別に加算したいと思っています。 B列に空白がある場合、 #VALUE!のエラーとなります。 IF(B1="","",A1*B1) の計算式を残したままで 解決方法はありませんか?

  • A,B,C----

    英語から韓国語に訳すとき、 A、B、C、and Dは、A、B、C、및 D A、B、C、or Dは、A、B、C、또는 D でいいのでしょうか? また、お父さんとお母さんどっちが好き?という時、 아버지 이나 어머니, 어느 쪽 좋아하세요? でいいのでしょうか? A or Bはどのように表現すればよいのでしょうか?

  • y=-a(a+b)t+b*exp(-(a+b)t) (a>0,b>0)

    y=-a(a+b)t+b*exp(-(a+b)t) (a>0,b>0) yがある値をとる時のt(t>0)を算出したいのですが、 上記の式をt=・・・の式にすることはできるでしょうか? 実際にtを算出する時にはa,bに数値を当てはめて計算を行うのですが、 a,bの値を変えた場合のtも求めたいので、文字係数のままで式を変換したいのです。 どなたか解る方がいらっしゃいましたら、解答お願いいたします。 補足 上記の式は以下の式と単純化したものです。 もしできるならば、こちらの式でt=・・・にしていただけると助かります。 d-(c*b^2)/(a+b)^2-abct/(a+b)+((c*b^2)/(a+b)^2)*exp(-(a+b)t)=0 (a>0,b>0,c>0,d>0) ↓ -a(a+b)t+b*exp(-(a+b)t)=b-(d*(a+b)^2)/bc b-(d*(a+b)^2)/bc=y と置いて単純化しています。 計算ミス等ありましたらご指摘下さい。

  • (a+b)(a-b)=a^2+b^2

    別の方の質問で表題の式は間違いかどうか尋ねるものを見かけて気になったので質問します。 実数や複素数のように可換な体で考える分には自明な場合(b=0)しかありませんが、そうでない場合、たとえばa、bを2行2列の行列と考えて、aの(i,j)成分をa(i,j)と表記するとして、数c,d,s,u(u≠0)を用いて a(1,1)=d a(1,2)=-(s^2)c/(u^2) a(2,1)=c a(2,2)=d b(1,1)=s b(1,2)=-(s^2)/u b(2,1)=u b(2,2)=-s によってaとbを定義すると、(a+b)(a-b)=a^2+b^2を満たすことがわかります。このときb^2=0でありab=baです。 一般の環でも同様のことは言えますか?つまり上記より強く、(a+b)(a-b)=a^2+b^2を満たすには、「b^2=0かつab=ba」は必要条件になるでしょうか? 初歩的なことかと思いますが、よろしくお願いします。

  • excel初心者です。

    excel初心者です。 2つの条件式を1つにまとめたいのですが、エラーが起こってしまいます。 ご助言の程、よろしくお願いします。 =IF(OR(A1="",B1=""),"",B1-A1) =IF(OR(A1="",C1=""),"",C1-A1) =IF(OR(A1="",D1=""),"",D1-A1) 上記3つの式なのですが、やりたいことは、 A1かつ、B1またはC1またはD1に値が入った場合、それぞれに対応する計算を行う。 それ以外は、空欄とする。 という条件式です。 この3式を1つにまとめることは可能でしょうか? よろしくお願い致します。

  • EXCEL IF関数 AND、OR条件

    先ほど、以下のような質問をさせて頂き、回答を頂いたものについての、追加の条件を付けた場合についての数式について、ご教授お願いいたします。 ◆以前、質問引用 以下の「D」の「○」「×」を数式で入力するのが目標です。 数式で表すことができますでしょうか? 条件としましては、 B>Cのとき、Aの文字列が「X1またはX2」の場合は、「○」、それ以外は「×」 C>Bのとき、Aの文字列が「Y1またはY2」の場合は、「○」、それ以外は「×」 それ以外のとき、(B=C,どこかが空白のとき)は、空白   A  B  C  D 1 X1 37 63 × 2 X2 78 22 ○ 3 Y1 45 55 ○ 4 Y2 29 71 × ◆回答 成功しました。 =IF(OR(COUNTA(A1:C1)<3,B1=C1),"",IF(B1>C1,IF(OR(A1="X1",A1="X2"),"○","×"),IF(OR(A1="Y1",A1="Y2"),"○","×"))) ◆引用終了 ここに、追加条件を付加したいのですが、 BとCどちらか大きい数字が、なおかつ80以上のもの。ただし100は除く それ以外は空白(100の場合も空白) という条件を付加して、80以上99以下の「○」と「×」をE列(NEW)に返したいと考えています。 回答を頂いた数式を一つずつ分解して理解しようとしましたが、どこにいれていいやら、後半の数式の使い方がいまいち理解できません。 分解(参考) 論理式 IF(OR(COUNTA(A1:C1)<3,B1=C1), 真の場合"", 偽の場合 IF(B1>C1,IF(OR(A1="X1",A1="X2"),"○","×"),IF(OR(A1="Y1",A1="Y2"),"○","×"))) 宜しくお願いいたします。

専門家に質問してみよう