excel ダブルクォーテーション ""の謎

みなさん、おはようございます(^_^)晴れが続きますね。


さて、昨日の引き続き・・・今日はexcelを書きます。


初心者の方はごめんなさい。excelで中級クラスの方向けです。

よくIF関数などに使用していたダブルクォーテーションの""意味。



セルに何もないというような空白に表示させたい時に使ったりしますね。

たとえば
c0087023_2075436.jpg


セルA1には初期設定のままの空セルなんです。これに対し、セルB1に

=IF(A1="","","あいうえお")と入っていたとします。
・・・ということは
返したセルB1はセルA1のセルが空セルなので真の値を返します。

さて、おさらいですが・・・(下はMicrosoft Answersから)

◆""とすることにより、""の間の文字や数字を文字列として返します

◆""は""の間に何も入力していませんので、文字数「0」の文字列になります

◆ですから、なのもない未入力セルをCOUNTAしても「0」ですが、

◆""または、数式の結果としての""のセルをCOUNTAすると「1」となります



つまり""を真の値に入れることは、文字数「0」の文字列と返すのがexcelなのです。







だから


C1のセルに数値、(今回は10を入れておきます。)とB1を足し合わせると#valueとなります。
文字列は足せませんから。。。。こんな感じに↓
c0087023_20211289.jpg


c0087023_2024035.jpg


回避するにはSUM関数。SUM関数は文字列を無視して計算します(便利ですね!)

ところでです。私がわからないのはここからなんですぅ。


IF関数の時のこと。
セルA1は空セルです。論理式に、A1=""と入れてます。
つまり真の値に""と入れてあるので文字列が返るならば、初期設定にある空セルも文字列?の矛盾が・・・~(´0ノ`*)


MVPの方がおっしゃるには

細かい理屈はMicrosoftの開発担当しか分からないそうなんです。

初期状態の空セルは本当に空で、長さ0の文字列が入っているわけではなく、演算に使用すると0扱いになります。

ただ、IF(A1=""・・・・・・)で判定できるのも事実。

そういうものだと思うしかないのだそう。



いろいろいじって勉強しているのですが、知れば知るほど、よくわからないことが起きています。

自分で謎だな?と思って調べるって楽しいものです。


皆さんも、素直になりすぎず「どうして?」って思うようにしてみませんか?今よりずっと楽しく勉強できますよ(^_^)
[PR]
by pc_school_kitaaya | 2011-11-02 08:00 | スキル | Comments(0)

長野県伊那市中央4846 オリエンタルプレイスB 電話:0265-96-7941


by 伊那市 いなわくわくファクトリー
プロフィールを見る
画像一覧