• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelでのデータの大小関係について)

Excelでのデータの大小関係について

このQ&Aのポイント
  • Excelのセルに持っているデータの大小関係について説明します。A1とB1のデータを比較する関数を使用しています。
  • ASCIIコード表を使って説明します。数値の方がスペースよりも大きいという結果になる理由を考えます。
  • また、データが削除された場合には#VALUEと表示されるので、B1には何のASCIIコードが入っているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

エクセルでは,文字列は「必ず」数値よりも大きく判定します。 文字列には数式で計算する「""」も含みます。 ご質問で触れていませんが補足として。 エクセルでは,セルに「数値」が入っている場合と「数字で書かれた文字列」が入ってる場合とで,計算結果が変わったり計算できない場合も多くあります 例: A1に数値で123が記入してある B1に文字列の書式を施してから123を記入する(通常左詰で表示され,また緑の三角がセルに取り付きます) =A1=B1  は等しくありません =A1<B1  は,文字列の方が大きく判定されます Deleteキーで中身を消したホントの「空っぽセル」は,中身が入っていないのでCODE関数では計算できません。 空っぽのセルは,そのセルを参照する数式によって値が変わります。 A1に数値の0 A2に ="" という数式 A3に数値の1 A4に文字列のabc B1:B4を空にしておくと =A1=B1 は等しくなり,空のセルはゼロと等しいと計算します =A2=B2 は等しくなり,空のセルは""と等しいと計算します なお, =A1=A2 は等しくありません。ゼロと""は違う値です。 =A3>B3 は数値の方が大きくなります =A4>B4 は文字の方が大きくなります

yamato99
質問者

お礼

丁寧な説明をいただき、ありがとうございました。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

時どき在る質問で http://www.eurus.dti.ne.jp/~yoneyama/Excel/ex-q-a/q_keisan_mojiretu.html の最後>「値の比較が思うようにならない と同じ質問でしょう。 そこに紹介がある http://support.microsoft.com/kb/416983/JA/ にMSの詳しい説明があるので読めば良いでしょう。

yamato99
質問者

お礼

ありがとうございました。ご紹介いただいたサイトも非常に参考になりました。

  • aoumiushi
  • ベストアンサー率45% (234/512)
回答No.4

スペースが入ると文字扱いなので 数値と文字の比較は文字の方が大きいと判断されます。 C1に =CODE(TEXT(B1,"標準")) と入力すれば見れます。

参考URL:
http://support.microsoft.com/kb/416983/ja
yamato99
質問者

お礼

ありがとうございます。code関数の使い方もわかりました。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

>B1にはどのようなASCIIコードが入っているんでしょうか? ブランク(DELキーで削除)の場合は何も入ってませんから#VALUE!が表示されます。 ブランクのセルの参照は数値の0として扱われますので100との比較は100:0となり"A>B"となります。 ちなみに文字列と数字で大きさを比較すると文字列の方が大きくなります。 これは並べ替えをしてみればわかると思いますが単純なASCIIコードでの比較はありません。 もし100が文字列として入力されたものであれば結果は変わりますけどね。

yamato99
質問者

お礼

ありがとうございました。 Excelの中もASCIIコードで並んでいるのかと思っていました。

回答No.1

まずはカテゴリごとに大小関係が割り振られる。 数字<半角英数<全角文字 さらに、それぞれのカテゴリ(数字なら数字、全角文字なら全角文字)の中で、コード順?で大小が割り振られる。 a<b 挙動としては、そうなっていますね。 windowsのフォルダの昇順降順と同じ判定がされています。 スペースも、半角スペース<全角スペース です。 試しに、一/二/三/四/五で試してみてください。 一<五<三<四<二 になると思います。

yamato99
質問者

お礼

ありがとうございます。 丁寧な説明、ありがとうございます。