• ベストアンサー

Excelの「’」とセルの書式設定(文字列)の違い

こんばんわ。 Excelの文字列表示について、教えてください。 数字を入力する際に、先頭に「'」を入力すると 文字列として入力することが出来ますが、 数字が入っているセルのセルの書式設定から 「文字列」に表示形式を変更することとの 違いはなんなんでしょうか? やり方は違うけれど、結果は同じということでしょうか? 「'」を入力すると、データが文字そのものに変わり、 表示形式を変更すると、見た目だけ(左揃えになるなど) 文字列のように見えるだけで、データは 数字のままということなんでしょうか?? また、文字列として入力された数字を Value関数で数値に変換してしまうのと セルの書式設定で「数値」に変更するというものも 同じように、違いが良く分かりません。。。 もう、頭の中が「??」だらけです。 違いを教えていただけたら・・・と思います。 どうぞよろしくお願いいたします<m(__)m>

  • uitte
  • お礼率97% (235/242)

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

  • ベストアンサー
  • hogehage
  • ベストアンサー率50% (54/107)
回答No.2

No.1さんのに補足させて頂きます。 先に文字列に設定してから、10や20を入力した場合ですと文字列として扱われ、計算されません。TYPE()しても2が返されます。 Excelでは、表示形式を「後」から変更した場合、完全には変わらない場合があります。 「'」ですが、これは数値を文字にすると言うより、入力した内容のままで表示させたい場合に使用すると考えたらよいと思います。 例えば、「1/1」と入力すると「1月1日」となり日付に変換されます。「1/1」と表示させたければ、表示形式で「m/d」等としなければなりませんが、「'1/1」と入力すれば、表示形式を一々変更する必要がありません。 Excelに余計な解釈をさせないためとも言えるかと思います。

uitte
質問者

お礼

>先に文字列に設定してから、10や20を入力した場合ですと文字列として扱われ、計算されません。 !!本当ですね!!ビックリです。 入力前に設定をしていれば、 'を付けた時と同じになりますね・・・ う~ん・・・Excelは不思議です(+_+) でも、すごくわかりやすくって なんとなくわかっていたような気がします。 本当にありがとうございました! 勉強になりました<m(__)m> また何かありましたら、色々教えてくださいね!

その他の回答 (2)

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

エクセルのCell関数にPrefixと言うのがあり、 ’は左詰め、^は中央配置、”は右詰などになっています。ですから本来セルの配置を表す記号ではないか、それが結果として、文字列に設定すると言う書式表示の効果を残していると思う。DOSロータス123はこれを使ってましたが、ロータス123時代からの、互換を考慮したものではないかと睨んでいます(不確か)。 ですからMSエクセルの本来の文字列の書式は、書式-セルー文字列でしょう。 エクセルが文字列の書式状態を持っているかは、エクセルインサイド情報を不知の私には判りません。 コードとしては、文字列(1はJISで49)と計算できる数はどこかで2進数に変換されるはずです。しかしエクセルは、御節介機能があるのでよく外から見えません。数値と言うコード立っていて、計算する直前まで文字列数字で持っているかも知れません。 エクセルインサイド情報が判らないと判りません。 何ごとにも原理追求型の人には苦しいでしょうが、深入りしない方が良いのでは。エクセルのもっと上部構造で勉強することが沢山ありますから。

uitte
質問者

お礼

>’は左詰め、^は中央配置、”は右詰 知りませんでした・・・! 奥が深いですね。。。 私はロータスのことが全く知らないので、 ピンとこなかったのですが ロータスとの互換の可能性もあるのかもしれないですね。 >深入りしない方が良いのでは。 (^_^;)そうですね・・・。 でも仕事上、人に説明をしなくてはならない場合がありますので どうしても勉強せざるを得ません・・・。 ありがとうございました。

  • nocurry
  • ベストアンサー率38% (27/71)
回答No.1

回答にならないかもしれませんが、簡単に確認してみました。 A B 10 '10 20 '20 と入力し、A列の表示形式を文字列に変更します。 その後、=A1+A2 =B1+B2をそれぞれ計算させると、 A列のほうは、30と数値が返ってきますが、 B列のほうは、0が返ってきます。 これから考えると、文字列と設定しても、EXCELでは数値として計算できるようです。 ちなみに、=VALUE(B1) で得た10という数値も計算できるようになります。 EXCEL2000で確認しましたので、 それ以前のバージョンですと、計算できないのかもしれませんが・・・。 

uitte
質問者

お礼

早速の回答、ありがとうございました! そうなんです。 表示形式で文字列にしていても、 計算が出来てしまうし、なんのこっちゃ??と思っていました。 一体どういうことなのかさっぱり??です。 お忙しいのに、確認作業をしていただいて 本当にありがとうございました<m(__)m>

関連するQ&A

  • セルの書式が標準なのに文字列にできるのはなぜ?

    会社のシステムで吐き出したデータですが セルの書式設定が標準なのに文字列となっています。 マクロを利用して、あるセルの値を別セルへ転記すると、 数字は数値に変換され、先頭の0は消え、桁数が多いと指数表示になってしまいます。 会社のシステムが吐き出したエクセルはセルの書式が標準なのに 中の数字が文字列でいられるのが疑問です。 会社のシステムの吐き出したデータは Microsoft Excel 2.1ワークシートで 全てのセルの書式設定は「標準」です。 で例えば 12345678901234 は 12345678901234 と表示されていて 「数値が文字列として保存されています」 となっています。(先頭に ' は入っていません) 0101という値のセルでも 表示は0101ですが 「数値が文字列として保存されています」 となっています。(先頭に ' は入っていません) それらのセルの値をマクロとかで別セルに転記すると 転記先では1.23457E+13 と表示されてしまいます。 (0101は101になります。) まっさらなエクセルに自分で手入力すると ・セルの書式設定が標準だと 12345678901234 ↓ 1.23457E+13になります。 ・セルの書式設定が数値だと 12345678901234 ↓ 12345678901234 ・セルの書式設定が文字列だと 12345678901234 ↓ 12345678901234 (ただし 数値が文字列と保存されています と注釈有) なのに会社のシステムの吐き出しデータは セルの書式設定が標準なのにもかかわらず 12345678901234 ↓ 12345678901234 (ただし 数値が文字列と保存されています と注釈有) となっています。 手入力で書式設定が標準の状態でセルに12345678901234 と表示させるには先頭に ' をつける方法しか知りませんが ' が無いのに表示されています。 でもこの該当セルをマクロで別セル(書式設定:標準)に転記すると 1.23457E+13 となります。 またシステムが吐き出したエクセルの同じシート内に 以下のマクロで転記すると ↓ Sub 転記() 行 = 2 Do If Cells(行, 6).Value = "" Then Exit Do If Cells(行, 6).Value >= 10 Then Cells(行, 7).Value = Range("A2") Else Cells(行, 7).Value = Range("A3") End If 行 = 行 + 1 Loop End Sub ↓ このマクロだと A列~F列が書式設定が標準なのに文字列として表示されているのですが 転記先のG列が書式設定が標準であっても 12345678901234 (数値が文字列と保存されています と注釈有) と同じ状態のまま転記できます。 新しいBOOKのシート2に 会社の吐き出しデータをシートコピーした後、 (セルの書式設定:標準だが文字列で表示されている) そのBOOKに登録されているマクロで シート2のセルからシート1のセル(書式設定:標準)に転記すると 数字は数値に変換され、先頭の0は消え、桁数が多いと指数表示 となってしまいます。 ちょっと混乱しています。 理屈等教えていただければと思います。お願いします。

  • 【Excel】セルの書式設定で標準と文字列の違い

    「セルの書式設定」の「表示形式」での「標準」と「文字列」の違いについてです。 「文字列」は「[文字列]は、数値も文字列として扱います。セルには入力した値がそのまま表示されます」 とあります。 しかし「文字列」に数値を入力するとセルの左上に、グリーンの▼印がでてきて、「数値が文字列として保存されています」というエラー表示がでます。 数値も文字列として扱われるはずですがなぜなのでしょう。いちいち「エラーを無視する」にしなければならないので面倒だなと思いますので、今度は「標準」で入力しようと思いますが、 「標準」は「セルの値に対して一般の書式を適用します(特定の書式を指定しません)」 とのことです。一般の書式、特定の書式が何を指すのか分かりません。 文字列が、数値として扱われない理由と、「標準」「文字列」のそれぞれの特徴を教えてください。

  • Excel、セルの書式設定について

    バージョンは2003を使っています。 セルの書式設定→表示形式→ユーザー定義で 「○○@」と入れると 何も入力しなければそのままですが 何かを入力すると、必ずその入力した文字列の前に○○が表示されますが 数字はできないのでしょうか? 漢字はできたのですが 半角数字を同じようにやったら 「入力した表示形式が正しくありません。 あらかじめ組み込まれている表示形式のいずれかを使用してみてください…」 というエラーになりました。 1000セル以上に数字を入力予定なのですが 1セルに20桁で、前半15桁は同じ羅列です。 15桁のみ入力してコピペしてというやり方でもいいのですが そうすると、1セル1セル入力の際にクリックしないといけないので…。

  • エクセルでの『セルの書式設定』について、右揃えができない!

    こんにちわ。 エクセルで、セルの書式設定にて実験データの表など を右揃えにすることが多いのですが、書式設定内で 表示形式→数値→小数点以下の桁数、で桁数を変える と何故か右揃えがほかのセルの右揃えと合わなくなり ます。(少しずれているのです。) これは桁数を特にいじらなければ起きないのですが、 有効桁数を揃えるなどで桁数をいじると起きます。 桁数を変更しても全てのセルが右揃えにする方法は ないのでしょうか?

  • エクセルのセル書式設定について

    エクセルのセル書式設定について教えてください。 セルA1に文字列「052」と入力すると、B2に「0 5 2」と表示されるようにするには、 書式設定をどう設定したら良いですか? ちなみに、A1を文字列ではなく数値で設定し、B2をユーザー定義「# # # #」で登録すると、 A1は「52」、B2は「5 2」と表示されてしまいます。 A1を「052」と表示させる為には、文字列として設定しなくてはいけないが、 そうするとB2の値も「052」と表示されてしまいます。 どなたか良い方法を教えてください。

  • エクセル 文字列で入力した数字を数値にする

    エクセルで、文字列の設定で入力した数字は、[セルの書式設定]で、数値として設定しても、文字列のままになります。 (セルの左上に、文字列と分かる緑の三角が付いたままになり、表を作ってもグラフの表示は出来ません。) 数値として数字を入力をした後、[セルの書式設定]で文字列にして、再び[セルの書式設定]で数値にすると、数値にはなります。 (この場合、文字列にしても、セルの左上に緑の三角が付かず、このまま表を作ると数値(小数点以下が0の場合は小数点以下が削除されます。)の扱いとなりグラフの表示が出来ます。) 文字列で入力した数字は、数値にはならないのでしょうか? よろしくお願いいたします。

  • エクセルでのセルの設定

    Win95、Office97で使用してます。エクセルで数字を入力してEnterを押すと自動的に右端に移動しますよね。で、その数字を右端に寄せないためにはセルの書式設定で表示形式を文字列で設定して入力すればセルの中の数字は右端によりませんよね。その設定(表示形式が文字列の設定)の状態がエクセルを開いた時には全部のセルがその設定になるようにすることは可能なんですか?なんかわかりずらい文章でごめんなさい。よろしくお願いします。

  • Excel セルの先頭のシングルクォーティション?

      エクセルのある特定のセルを ユーザーが何でも自由に入力できるようにしたいのですが Excelの標準的な仕様で 先頭に`(シングルクォーティション)を入力すると 文字列データの宣言と解釈されて、 結果的に先頭の`(シングルクォーティション)が 文字として認識されなくなっています。 (問1) このExcelの標準的な仕様を無効にすることはできないでしょうか。     あるいは、セルの書式設定の表示形式のユーザー定義などで     先頭の`(シングルクォーティション)を通常の文字として     処理させる(エスケープさせる)ことはできないでしょうか。 (問2) セルの書式設定を文字列にすれば、     先頭の`(シングルクォーティション)による文字列の宣言     としての意味はないように思われますが、     セルの書式設定を文字列をした時の     先頭の`(シングルクォーティション)には     何か意味があるのでしょうか。 (問3) セルの書式設定を文字列にして     先頭に`(シングルクォーティション)を入力して     以後、何も入力しない、または、何かを入力した場合と     セルの書式設定を標準のままで     先頭に`(シングルクォーティション)を入力して     以後、何も入力しない、または、何かを入力した場合と     では、両者に何か違いがあるのでしょうか。 よろしくお願いします。

  • Excel の「セルの書式設定」に関して

    Excel 2010を使用しています。セルに「5-1」と入力すると「5月1日」と表示されてしまいます。それで入力前に「セルの書式設定」を「文字列」に指定してから入力すると「5-1」と表示してくれます。ところが Web ページなどからそのままコピー&ペーストすると入力前に「セルの書式設定」を「文字列」に指定したにもかかわらず,「5月1日」となり,勝手に「セルの書式設定」が「ユーザー定義」に切り替わってしまいます。Web ページなどからコピー&ペーストしたデータを「文字列」のまま入力させる方法はありませんでしょうか?

  • エクセル2003のセルの書式設定

    あるセルに数字入力で -1572145634 と入力すると表示が 【 △1,572,145,634 】 となるような書式設定はできますか? ユーザー定義で試すと  △1,572,145,634 】 まではできるのですが、先頭の【が表示されません。 よいアドバイスをいただけないでしょうか。 よろしくお願いします。

専門家に質問してみよう