- ベストアンサー
エクセルでの疑問(""と" "の違い、またセル+セルとsum関数の違い)
エクセルにおいて、スペースを挿まない""と、スペースを挿む" "の違いを教えてください。 if関数で条件が真の場合に空欄""(←スペース無し)を返して、その空欄のセルと別のセル(数字が入っている、例えば1)を加算(セル+セルであり、sumは使わない)するように計算式を組んでも、空欄のセル(ifのセル)を0と認識してくれず、その結果#VALUE!と出てしまいます。 一方、""にスペースを挿んで" "とすると、数値と認識して、加算結果は1と表示されます。 因みに、sum関数で問題のセル(ifのセル)と別のセル(例えば1)を計算すると、1という結果が返ってきます。 スペース無し("")とスペースあり(" ")の違いって一体何なのでしょうか? また、なぜセル+セルでは#VALUE!になり、sumでは#VALUE!にならないのでしょうか? 宜しくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
>""にスペースを挿んで" "とすると、数値と認識して、加算結果は1と表示されます。 たぶん、これは勘違いでしょう。 両方とも#VALUEになるはずです。 再度、確認してみませう。 さて、本題。 >スペース無し("")とスペースあり(" ")の違いは? "" は、長さ0(ゼロ)の文字列(【Null(ヌル)】ではありません) " "は、スペース1文字のこと 要するに、●両方とも文字列●ということです。 これを踏まえて、 A1の値が ""又は" "で、B1の値が数値の場合 =A1+B1 "文字列"と数値を足すことになりエラー =SUM(A1:B1) SUMは合計を計算する小さなプログラムなので、 そこら辺りを考慮して計算するからエラーにならない これはSUMのヘルプに詳しく書いてありますので一読することをお奨めします。 ただ、ヘルプには、 引数が配列またはセル範囲の参照である場合は、 「空白セル、論理値、文字列、エラー値は無視されます」と書いてありますが エラー値 は無視されず、結果はエラーになります。 また、ヘルプでいう、空白セルとは未入力セルのことです。 以上。
その他の回答 (6)
- sige1701
- ベストアンサー率28% (74/260)
前回の回答を訂正します。 >A1に文字で1と入力 >B1に文字で2と入力 は A1に文字で1と入力 B1に数値で2と入力 の誤りです
- golgo1013
- ベストアンサー率55% (42/76)
NO.4の方がほとんど回答されていますが、少しだけ補足させていただきます。 EXCELの関数が融通を利かしたりするので混同するのですが、EXCELにおいてはNullと""に違いがあります。(IT用語辞典とかでは同じ扱い) EXCELにおいてNullは数値計算の場合0と同等に扱われますが、""は文字列なので意味が変わります。 また下記のような違いもあります。 A1が未入力(Null)の場合 A2=IF(ISBLANK(A1),"",A1)・・・(真) A2=IF(A1="","",A1)・・・・・・・・・(真) 上記の数式は両方"真"となりA2には""(長さ0の文字列)がセットされます。 ところが、下記の式では結果が分かれます。 A3=IF(ISBLANK(A2),"○","×")・・・(偽)="×" A3=IF(A2="","○","×")・・・・・・・・・(真)="○" ""は長さ0の文字列が入力されているとみなされるので、ISBLANKでは"真"になりません。 IT用語辞典 ヌル(Null) http://e-words.jp/w/E3838CE383AB.html
- sige1701
- ベストアンサー率28% (74/260)
No4 さんの回答に書いてある通りと思いますが、一部補足します A1に文字で1と入力 B1に文字で2と入力 A1+B1=3 SUM(A1:B1)=2 四則演算の場合文字でも数値と認識できるものは数値に置き換えて計算します(TRUE,FALSE等も) 一方SUM関数は文字を無視して計算します
- Dred
- ベストアンサー率36% (4/11)
エクセルのヘルプでSUMを検索すると 中に含まれている数値だけが計算の対象となります。空白セル、論理値、文字列、エラー値は無視されます。 とあります。
- expect25
- ベストアンサー率44% (73/164)
""(スペースなし)は「ヌル」といい、数字(0を含む)・文字等何も入っていない状態です。 " "(スペースあり)の方は、スペースは一つの文字として扱われるので、数字として計算はできません。 恐らく、0という数字を表示したくないのだと思いますが、 書式設定で「ユーザー定義」を選び、 0;-0;"" と入力してください。 ;の前(先頭)はプラスのときの表記の仕方 ;の間(中間)はマイナスのときの表記の仕方 ;の後(末尾)は0のときの表記の仕方です このとき0を入力しても何も表示されませんが、セルに0は入っています。 いかがでしょうか?
- Hachi5592
- ベストアンサー率36% (252/698)
""はnullといい、何のデータも含まれていないもので、データ長ゼロのものです。それに対し、" "は1文字の空白を示し、データ長は1文字となります。 セル+セルは数字項目に対して加算が許されるため、" "(スペース)は文字項目のため「値エラー」となります。一方、""(Null)はデータそのものが無いことになり、エラーとはならず、加算の対象にもなりません。一方、=SUMは数値項目のみ加算対象とするため、文字項目(スペースを含め、A,B,C,あ,い,うなど)は無視します。
お礼
ご回答ありがとうございます。 ""と" "は確かに両方とも#VALUEになりました。私の間違いでした、申し訳ありません。 ifの条件部分における""と" "の違い(片方は#VALUE)、ifで返される結果における""と" "の違い(両方とも#VALUE)、""とnullの違い(前者は文字列)、加算演算とsum関数の違い 等が理解できました。 回答をくださった皆様、どうもありがとうございました。