• 締切済み

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% (836/1606)
回答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