こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

こんばんわ。

Excelの文字列表示について、教えてください。
数字を入力する際に、先頭に「'」を入力すると
文字列として入力することが出来ますが、
数字が入っているセルのセルの書式設定から
「文字列」に表示形式を変更することとの
違いはなんなんでしょうか?
やり方は違うけれど、結果は同じということでしょうか?

「'」を入力すると、データが文字そのものに変わり、
表示形式を変更すると、見た目だけ(左揃えになるなど)
文字列のように見えるだけで、データは
数字のままということなんでしょうか??

また、文字列として入力された数字を
Value関数で数値に変換してしまうのと
セルの書式設定で「数値」に変更するというものも
同じように、違いが良く分かりません。。。

もう、頭の中が「??」だらけです。
違いを教えていただけたら・・・と思います。

どうぞよろしくお願いいたします<m(__)m>

投稿日時 - 2005-01-13 20:38:35

QNo.1166340

すぐに回答ほしいです

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

No.1さんのに補足させて頂きます。

先に文字列に設定してから、10や20を入力した場合ですと文字列として扱われ、計算されません。TYPE()しても2が返されます。
Excelでは、表示形式を「後」から変更した場合、完全には変わらない場合があります。

「'」ですが、これは数値を文字にすると言うより、入力した内容のままで表示させたい場合に使用すると考えたらよいと思います。
例えば、「1/1」と入力すると「1月1日」となり日付に変換されます。「1/1」と表示させたければ、表示形式で「m/d」等としなければなりませんが、「'1/1」と入力すれば、表示形式を一々変更する必要がありません。
Excelに余計な解釈をさせないためとも言えるかと思います。

投稿日時 - 2005-01-13 22:04:53

お礼

>先に文字列に設定してから、10や20を入力した場合ですと文字列として扱われ、計算されません。

!!本当ですね!!ビックリです。
入力前に設定をしていれば、
'を付けた時と同じになりますね・・・
う~ん・・・Excelは不思議です(+_+)

でも、すごくわかりやすくって
なんとなくわかっていたような気がします。

本当にありがとうございました!
勉強になりました<m(__)m>

また何かありましたら、色々教えてくださいね!

投稿日時 - 2005-01-13 23:17:09

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

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

投稿日時 - 2005-01-13 22:42:24

お礼

>’は左詰め、^は中央配置、”は右詰

知りませんでした・・・!
奥が深いですね。。。

私はロータスのことが全く知らないので、
ピンとこなかったのですが
ロータスとの互換の可能性もあるのかもしれないですね。

>深入りしない方が良いのでは。

(^_^;)そうですね・・・。
でも仕事上、人に説明をしなくてはならない場合がありますので
どうしても勉強せざるを得ません・・・。

ありがとうございました。

投稿日時 - 2005-01-13 23:20:01

ANo.1

回答にならないかもしれませんが、簡単に確認してみました。

A B
10 '10
20 '20

と入力し、A列の表示形式を文字列に変更します。

その後、=A1+A2 =B1+B2をそれぞれ計算させると、
A列のほうは、30と数値が返ってきますが、
B列のほうは、0が返ってきます。

これから考えると、文字列と設定しても、EXCELでは数値として計算できるようです。

ちなみに、=VALUE(B1) で得た10という数値も計算できるようになります。

EXCEL2000で確認しましたので、
それ以前のバージョンですと、計算できないのかもしれませんが・・・。 

投稿日時 - 2005-01-13 21:27:36

お礼

早速の回答、ありがとうございました!

そうなんです。
表示形式で文字列にしていても、
計算が出来てしまうし、なんのこっちゃ??と思っていました。

一体どういうことなのかさっぱり??です。
お忙しいのに、確認作業をしていただいて
本当にありがとうございました<m(__)m>

投稿日時 - 2005-01-13 23:14:20

あなたにオススメの質問