アプリ版:「スタンプのみでお礼する」機能のリリースについて

会社のPCの特定のエクセルファイルの特定のシートでこういう現象が起こってしまいます。

例ですが、
B2のセルに「A1="","T","F"」
という式を入力したとします。

この場合A1に何も入力しなければB1は「T」、
何か入力(「0」も含む)したらB1は「F」
と表示されるはずです。

しかし、特定のファイルのシートでは
A1に「0」と入力するとB2に「T」と表示されてしまいます。

「0」はデータとして認識されるはずなのにうまくいきません。

同じファイルでも別のシートではうまくいったりします。


ちなみにPCはXP Professional SP2
エクセルのバージョンはExcel2002 SP3です。

会社の別のPCで試しても同じことが起こります。

エクセルの仕様なのか、それともバグか、または設定があるのか。

なぜこうなるのか、考えられる原因を教えていただけますでしょうか。

A 回答 (6件)

こんにちは。



=IF(A1="","T","F")

ご質問の主旨は、

>エクセルの仕様なのか、それともバグか、または設定があるのか。

A1 に、「0」を入れるても、何も入っていないのと同じことになるのは、ロータスモードだからです。
ロータスモードは、FALSE = 0 は、同じですが、Microsoft モードは、FALSE ≠ 0 です。(ブーリアン値) なお、TRUE <> 0 になります。
ツール--オプション--移行 を確認してください。

「計算方法を変更する」にチェックが入っていると、そのような計算をします。
「エクセルで「0」を「""(null)」と」の回答画像5
    • good
    • 0
この回答へのお礼

みなさん回答ありがとうございます。
申し訳ありませんが、ここでまとめてお礼とさせていただきます。

今回の件はどうやらNo.5様のご指摘の通りでした。
「計算方法を変更する」のチェックを外したらちゃんと表示されました。

なぜ「計算方法を変更する」にチェックが入っていたのかはわかりません。
(私が作成したファイルではないので…汗)
でも原因が分かってよかったです。

他にも原因を考えてくださった皆様にも感謝いたいします。
ありがとうございました!

お礼日時:2009/07/04 14:50

大事な点なので


>B2のセルに「A1="","T","F"」

=IF(A1="","T","F")
を端折ったのかな。ここは正確に書いてほしい。
エクセル関数はセルの値を問題にする。
基本的な点なので最近のエクセルバージョンの違いで変わるとも考えられないと思いますが。
逆はどうなりますか。
A1を0にして=IF(A1=0,"T","F")
====
特定のファイルのシートで、A1セルを値をDELETEで消して空白にして、書式を標準にして関数の結果は変わりませんか。
ーー

この回答への補足

IF関数を書き忘れてしまったことは既にNo.1、No.2様の補足に書かせていただきました。

補足日時:2009/07/04 14:42
    • good
    • 0

ん~、「逆」の場合、


【空白セルに対して =IF(A1=0,"T","F") とすると"T"が返る】
ということであれば「仕様」なんですが…。

※ちなみに#3さまが挙げられている質問のnoname#52504は私です。
-----------------------------------------
ちょっと状況が見えないので、補足要求です。

Q1.
「0」以外の値「2」や「あ」を入力した場合は「F」が表示されますか?

Q2.
対象のセルがそのシートのどのセルであっても同様ですか?

Q3.
対象のセルの[表示形式]はどうなっていますか?

Q4.
数式を入力するセルがそのシートのどのセルであっても同様ですか?

Q5.
「 A1に「0」と入力すると 」 とありますが、
(数式・貼り付け・ドロップダウンリスト等での入力ではなく)
キーボードから直接手打ちした場合も同様ですか?

Q6.
A1に「0」と入力した時点で、
(セルではなく)[数式バー]にはどのように表示されていますか?

Q7.
A1(問題のセル)に「0」と入力した状態で、
下記の数式を入力した場合の結果はそれぞれどのようになりますか?

 =A1
 =A1=""
 =LEN(A1)
 =ISTEXT(A1)
-----------------------------------------
補足要求だけでもアレなので、オマケ動画をつけてみました。

【私がやってみたような理由でそうなっている】
という可能性は極めて低いと思われるのであくまでオマケです。

    • good
    • 0

No.1です。



もしかするとこの方法で解決するかもしれません。
<Excel2003 0と空白を別の値として判断したい>
http://qa.moura.jp/qa3805370.html

このページを参考にセルの入力値を記入すると・・・
「=IF(ISBLANK(A1),"T",IF(A1=0,"F","F"))」

A1がいわゆる「長さ0の文字列""」の場合も空白と同様に処理するなら、

「=IF(A1="","T",IF(A1=0,"F","F"))」
 ※[A1が空白または長さ0の文字列""ならば"T"]

おそらくおっしゃっているのは後者の方になるかと・・・。

当方使っているEXCELが2000なので、2003でどう出るかが分かりません・・・。

ちなみに2000だとNULLと0は別物として認識されるようです。

参考URL:http://qa.moura.jp/qa3805370.html
    • good
    • 0

オプションの「計算方法」が「手動」になているとか...

この回答への補足

すみません、IF関数です。
ご指摘の通り「=if()」を書き込むのを忘れていました。
IFがあるものだと思ってください。

ちなみに「自動」でした。

補足日時:2009/07/02 15:20
    • good
    • 0

こんにちは。



>B2のセルに「A1="","T","F"」
>という式を入力したとします。
との事ですが、「=IF」が抜けてる気がするんですが・・・。

セルの中身は
「=IF(A1="","T","F")」
になっていますでしょうか?

もしなっていましたらすみません・・・。

念のため、IF関数の使い方について解説されているページのリンクを貼っておきます。
ご参考にどうぞ。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu …

参考URL:http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu …

この回答への補足

すみません、IF関数です。
ご指摘の通り「=if()」を書き込むのを忘れていました。
IFがあるものだと思ってください。

補足日時:2009/07/02 15:13
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!