• 締切済み

ExcelのIF文のバグ?

現在、関数を利用して処理したいデータベースがあります。 =IF(B21<=数値入力!G14,2,3) このような記述のセルがシート内にあります。 ・B21には数値で6 ・数値入力!G14には数値で10 が入っています。この文をEnterで確定すると、なぜか数字の0が出力されます。 2か3,もしくはErrorが出るならわかりますが、0が出力されている状態はどのような原因が考えられますでしょうか? ちなみに、 =IF(6<=数値入力!G14,2,3) このように入力すると3を出力します。B21が文字例になっているのではないかと何度も疑いましたが、数値でした。

みんなの回答

  • A88No8
  • ベストアンサー率52% (834/1602)
回答No.2

 gourangaさん、こんにちは  手元にあるExcel 2003(11.821.8221) SP3でB21、数値入力!G14が表示形式標準とコード中のB21を即値6で試したところ、どちらの例でも結果は、「2」でした。  またB21を表示形式を文字列にして入力したところヌル値で2、それ以外の数字や記号で常に3になりました。逆に数値入力!G14の表示形式を文字列に変えると(B21は標準)B21の入力なし~10までが2、11からが3の結果が得られました。  以上を踏まえて考えるとB21の表示形式が文字列になっているっぽいです(G14の影響は見られなかったから)。  一度、B21をメニュー「編集」-「クリア」-「すべて」でセルの設定を初期化されることをお勧めします。

gouranga
質問者

お礼

残念ながら、文字例では無いんですよ..

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

Excel 2003とExcel 2007に =IF(B21<=G14,2,3)を入力しましたが、正しく「2」または「3」が表示されます。 セル B21、G14 に入力した「6」「10」が文字列でも、空欄でも数式通りの正しい計算結果が返されます。 従って、問題があるとすれば、入力された数式そのものではないでしょうか?

gouranga
質問者

お礼

Excelから直接数式をコピペしているので、間違っては無いと思います。

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

関連するQ&A

  • EXCEL IF文の使い方で

    1~12月までの数値が入った横並びのセルがあります。 それと月度を入力したセルがあります。 そして、特定のセルに、指定した月度の数値を持ってくる式を入れたいのですが、単純にIF文のネストではだめですよね。何か良い関数はありますでしょうか? EXCEL2003です

  • EXCELのIF文

    教えて下さいm(__)m Aのシートの1列目と、Bのシートの1列目を比べ、同じ情報であれば、 Bシートの2列目にその情報が書き出されるように関数を入力したいのです。 たぶん、IF文で出来そうな気がするのですが、調べてもなかなか判りませんでした(;_; 宜しくお願いします。 例) ●Aシート 有村  赤 明石  黄色 池田  緑 齋藤  白 ●Bシート 有村  「赤」 と出力したい 池田  「緑」 と出力したい 遠藤  「 」 空白でOK

  • EXCELのIF文について

    あるセルに文字が入力されていないときは、もうひとつのセルの数字を=で持ってきて、 入力されたときは0か空白にできるIF文の作り方ありますでしょうか?

  • VBA if文とfor文の使用方法

    初歩的なことで質問します。 まず A1からA31セルに 連続した数値A1セル➡1、A2➡2・・・A31➡31と 数値が入力されております。 やりたいこと D1セルに適当な数字(例えば5)を入力しマクロを起動すると A5セルの5と書かれた数値を探し当て 隣のB5セルに別シートの数値を持ってくるといった処理ですが ここまではコードできています。 ここからわからないのですが さらに、D1セルに適当な数字(例えば5)を入力し マクロを起動すると A5セルの5と書かれた数値を探し当て すでに、B5セルに数字があれば処理しないといった内容を 追加したいのですが、やり方が分からないです。 途中からのコードですいません。 For i= 1 To 31 If range(”D1”).Value = .Cells(i, 1).Value Then ここまではできるのですが、その次の処理 すでに、B5セルに数字があれば処理しないといった処理 のif文がわかりません。 すいませんがコード記載してくれると助かります。 回答よろしくお願いします。

  • エクセルでのIF関数:この場合どうすれば?

    IF関数を使うと思うのですが、このような場合どのように入力すればよろしいのでしょうか? 特定のセル(たとえばC1のセル)にマイナスの数字もしくは、プラスの数字もしくは空白が入力されており、たとえばB1のセルに関数を入力するとき C1に空白以外の数値が入力されている場合に限り、A1に入力されている数値をB1のセルに入力(反映)させたい場合。 また同時に、C1が空白の場合、B1も0ではなく空白にしたい。 どなたかご教授ください。よろしくお願い致します。

  • Excelでfor文とif文の操作をしたいです

    Excelについての質問です。 Excelで、画像のようにシート1のA列にアルファベットと数字のデータがあり(重複はありません)、B列に1~5の数字が入っているとします。 この時、シート2のB列に、シート2のA列で指定したものと一致する、シートAのB列の値を入力したいです。 (この例の場合、上から順に5、4、1です) プログラミング言語でいう、いわゆるfor文とif文の併用で for(i=1;i<4;i++){ for (j=1;j<8;j++){ if(シート1のセルAj==シート2のセルAi){   シート2のセルBiにシート1のセルBjを値を入れる   ループを抜ける } } } というような感じになると思います。(間違っていたら申し訳ないです。) こういった処理は、Excelのマクロで可能でしょうか? また、できればどうすれば実現できるか、教えていただけると助かります。 よろしくお願いいたします。

  • IF関数について教えて下さい

    入力セルB1には数値0~9と”ヌル”が入ります。 セルB2でA1+B1の計算 B2の計算条件は、B1が””の時””が出力 B1が0(数値のゼロ)の時数値のゼロが出力 B1が1~9の時はA1+B1の演算をさせたいのですが、IF関数でできますか 関数の組み方をお願いします。

  • EXCEL2007 IF関数についてです。

    別シート(sheet1)のセルA1には - もしくは数値が入ります。 sheet2のセルB1にIF文で - の時は空白、数値で60以上ならば"有"、それ以下なら 空白としたいのすが、 =IF(ISNUMBER(sheet1!A1)+AND(sheet1!A1>=60),"有","") とB1に記述しても - の時も"有"が出てしまいます。 どう記述したらよろしいでしょうか??

  • エクセルの入力数字

    エクセルの練習をしています。シートのコピーや絶対参照、Rounddown関数やIf関数なども練習していた時、エクセルのシートに入力する数字が、すべて、小数点で確定してしまいます。例えば、  数字の1を入力・・・Enterを押すと0.01と変化します。今まで使ったすべてのシートだけでなく、新しいシートもそうなります。セルの解除などやってみましたが、直りません。教えてください。パソコンは、あまり詳しくありません。簡単な説明でお願いします。

  • IF関数について・・・

    A1のセルに数字を入力したら B1のセルに次の表示されるようにしたい場合 IF関数をどのように使えば良いか教えて下さい。 「○○○A1○○○」    *○は文字でA1は数値です。

このQ&Aのポイント
  • MFC-J6983CDWのインクをかえてもモニター表示できない空になってる
  • 使用環境はWindows10で無線LAN接続
  • 関連するソフト・アプリや電話回線の種類は不明
回答を見る