• ベストアンサー

Excel2003 0と空白を別の値として判断したい

エクセル2003でIF関数の質問ですが、 A1=2 B1=0 と A1=2 B1が空白 の場合で B1が0のとき0を返し、B1が空白の場合A1の値を返したいのです。 つまり0と空白を別の値として判断したいのですが、どうしたらいいので しょうか? よろしくお願いします。

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

  • ベストアンサー
noname#52504
noname#52504
回答No.3

判定を行う順序がポイントになります。  =IF(ISBLANK(B1),A1,IF(B1=0,0,"未定義"))  ※B1が0でも空白でもない場合は"未定義"が返ります。 B1がいわゆる「長さ0の文字列""」の場合も空白と同様に処理するなら、  =IF(B1="",A1,IF(B1=0,0,"未定義"))  ※[B1が空白または長さ0の文字列""ならばA1] 先に0かどうかの判定をしてしまうと、 空白は0とみなされてしまうのでうまくいきません。 ×=IF(B1=0,0,IF(B1="",A1,"未定義"))  ⇒B1が空白のとき0,長さ0の文字列""のときA1 ×=IF(B1=0,0,IF(ISBLANK(B1),A1,"未定義"))  ⇒B1が空白のとき0,長さ0の文字列""のとき"未定義"

masakencom
質問者

お礼

この回答により問題が解決されました。 ×=IF(・・・の部分も参考になります。 ありがとうございました。(´▽`)

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

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

IF文で引数となるセルの値がでてくる1歩前から区別して出てくるように関数を作らないとダメと思う。 エクセルはおせっかい機能で、表「計算」ソフトのメインの機能を 慮って、0にしてしまうケースがあるがそれをさせないように、IF文で場合分けをしておくことが必要だ。 ーー いま値がでてしまっていることを前提にするなら、質問にもならないことで =IF(A1="",・・が空白を捉えるやり方で、=IF(A1=0,・・が0を捉えるやり方である。 ただしユーザー書式設定の#ガあったりするので 書式 値 を区別し 質問の関数と、その元になる値(その作成来歴=入力か関数の結果か)を具体的に書かないと、正しい解答はできないよ。 質問は説明表現が不十分と思う。 この辺は甘く見ないこと。

masakencom
質問者

お礼

確かに説明表現が不十分でした。すいませんでした。 今後は書式と値の区別も視野に入れて質問したいと思います。

全文を見る
すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

次のようなことでしょうか。 B1が0又は空白でない、空白としています。 =IF(B1=0,0,IF(B1="",A1,""))

masakencom
質問者

お礼

早速、回答ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel関数で 空白値の入力はどう書くの?

    あるセル(B1とします)に =if(A1="a",0,"") とif関数を書きました。 別のセルA2にセルB1を合計するような式( =B1+C1 )と書くと#VALUE! というエラーになります。 多分、B1の値 "" が空白ではなく文字列と認識されているからだと思いますが、""の代わりに空白値をif分の中に指定することはできないのでしょうか? 逃げ手として、A2に書く式を =sum(B1:B1)+sum(C1:C1)とする手はありかと思いますが、できたら空白値を代入したいです。

  • エクセル 関数で出た値を別の関数で使う場合

    エクセルでのセルである関数で出た値が出ています。 別のセルでそこに出ている値を使って関数を入れたいのですが、その方法がわかりません。 例えば  あるセルにAと入っています。しかし、それはある関数の結果として出ています。別のせるに =if(A4=A,3,if(A4=B,2,if(A4=C,1,"")))と入れています。 でも結果は空欄です。どうしたらいいのでしょうか?

  • 空白セルを作りたい

    お世話になっています。 A1+A2+A3の合計をB1に表示させるとします。 A1、A2、A3には、それぞれ数字が入る場合も、未入力(空白)の場合もあります。 1、A1空白、A2空白、A3空白の場合、B1に空白。 2、A1空白、A2 数字、A3空白の場合、B1はA2の数字(空白を除いて足し算した値を返す)の式を作りたいと思い、B1に =IF(A1="","",IF(A2="","",IF(A3="","",SUM(A1+A2+A3))))としましたが、1はできますが、2ができません。A1、A2、A3どれかひとつでも空白セルがあると、B2は空白で帰ってきてしまいます。 足し算した値を返してもらうにはどうすればよいでしょうか。 関数のご指導お願いいたします。

  • 関数で判断して、空白にするような式を組み立てかた。

    Sheet1に A B C D 1 a 2 b 3 4 5 とあります。 Sheet2のA1に関数”=Sheet1!A1”を入力し、A2,A3,A4以下へコピーするとSheet2は A B C D 1 a 2 b 3 0 4 0 5 0 となりました。これをA3,A4,A5以下に0を表示されず、空白にするためにIF関数で判断して、空白にするように式を教えていただきたく。よろしくお願いします。

  • [Excel]QUARTILEの条件で空白除外

    Excelで下記のようにQUARTILEを使用した集計を行っております。 区分毎に金額の四部位数を求めているのですが、 データに空白がある場合、最小値が "0"になってしまいます。 >> データ 区分|金額 ------------- 1  |100 2  |200 1  |10 1  | 2  |80 >> 集計の記述(区分が1で最小値を求めた場合)  QUARTILE(IF($A$2:$A$6="1",$B$2:$B$6),0) IF関数で空白を除外するよう条件をつけても "0" になってしまいました。  QUARTILE(IF(AND($A$2:$A$6="1", $B$2:$B$6<>""),$B$2:$B$6),0) これを回避する方法はありますか? よろしくお願いします。

  • 【Excel】2つの値のどちらかを抽出する

    A、Bのセルがあり、どちらのセルにも文字列が入っていたり、入っていなかったりとします。 そこでセルCに、A、Bどちらかの文字列を入れたいと考えたとき、どのような関数が考えられますでしょうか? 条件は以下のようにします。 (1)A,Bとも文字列か、空白のどちらか (2)Aの方が優先される。A,Bのどちらも値が入っている場合はA、Aが空白で、Bに値が入っている場合はBの値がCに反映される。 宜しくお願い致します。

  • Excel2010で3つの値のうち最も少ない値

    Excel2010で3つの値のうち最も少ない値を返して、もしその値が空白だったらゼロと認識する。としたいのですが、 どのような関数にしたらよいのでしょうか? どなたかおしえてください。 例) A1:3 A2:5 A3:(空白) この3つのセルのうち最も少ない数を返す。 =MIN(A1,A2,A3) だと、値3が返ってしまいます。空白もゼロと認識して値0を返したいのです。 ですが、この3つのセル以外に空白セルを残すため、Excel昨日の「空白にゼロ値を表示する」を使いたくありません。 どうぞよろしくお願いいたします。

  • MAX,MIN関数で空白の値を返したいのですが?

    MAX,MIN関数で空白の値を返したいのですが、中々上手く行きません。 何方か、ご教授頂けないでしょうか、宜しくお願い致します。 ※本題 MAX,MIN関数などの場合、真の0値が返されるので0が表示されると思います。 A1:AV10が未入力の場合:=MAX(A1:AV10) =0 又、AVERAGE関数の場合は、対象となるセルが未入力の場合(#DIV/0!)エラー表示されるので、下記載の様に空白の値を返す事が出来ます。 「=IF(ISERROR(AVERAGE(AN3:AV3))=TRUE,"",AVERAGE(AN3:AV3))」 そこで質問なのですが! MAX,MIN関数で値が入力されて無いとエラーを返す方法は有りますか? AVERAGEと同様に空白の値を返したいと思ってます。 ただ、差分で0が返ってくる場合が有り、オプションでゼロ値の非表示等は使えません。

  • Excel 2007でセルの値で条件判断し中央揃えする方法

    別トピックで質問を挙げさせていただいておりますが、それとは別の質問がありましたので挙げさせていただきます。 Excel 2007で数値セルにした場合、通常はセルの値が右揃えになりますが、値がゼロの場合にはハイフン(-)を表示させたうえでそのセルだけ中央揃えする方法はありますでしょうか? 値がゼロの場合にハイフンを表示させるのはIF関数 IF(A1-A2=0,"-",A1-A2) で行っています。 お分かりになる方いらっしゃいましたらご伝授ください。 何卒よろしくお願い申し上げます。

  • 0のときは空白、空白のときも空白を返す式について

    あるセルの値が0のときは空白に空白の時はそのまま空白を返す関数はどのようにすればいいでしょうか? たとえばIF計算式で0名の場合の答えは0ですがそれを空白にしたいと思います。 さらに空白のときも空白にしたいので=IF("","",C4/D6)という関数は使えないと思いますが、 どのような式にすればよいでしょうか。 宜しくいお願い致します。

専門家に質問してみよう