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

このQ&Aのポイント
  • Excelのセルに先頭にシングルクォーティションを入力すると、文字列データの宣言として解釈されます。
  • Excelの標準的な仕様で、先頭のシングルクォーティションは文字として認識されなくなります。
  • セルの書式設定を文字列にすることで、先頭のシングルクォーティションが通常の文字として処理されます。
回答を見る
  • ベストアンサー

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

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

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

(問1)先頭の`(シングルクォーティション)を通常の文字として処理させる(エスケープさせる)ことはできないでしょうか。  添付図のような操作でいいかどうか・・・  1.セルに「半角スペース+'」を入力します。(半角スペースの必然性はありません)  2.Mid関数かRight関数で「'」を切り出します。  3.切り出した結果を値複写します。  見た目は通常の文字として処理されています。  再編集すると元の木阿弥です。 m(_ _;m   (問2)先頭の`(シングルクォーティション)には何か意味があるのでしょうか。  ファイルタブからバックステージビュー>オプション>詳細設定>Lotusとの互換性>Lotus1-2-3形式のキー操作にチェックすると「^」を中央揃え、「"」を右揃えに使えます。しかしこれにチェックしてもしなくても「'」は左揃えです。というよりExcelでは、「'」はこれに続く入力値を文字列にするとの説明が多いようです。日本語でのExcelの文字列は左揃え(仕様、標準)なので、「'」だけがLotus(キー操作の設定ですね)と関係なく使えるのだと解釈しています。(私の解釈です。参考程度にしてください)   (問3) 添付図に示しましたが、表示形式を文字列にしても標準にしてもセルが持つ属性(値といってもいいです)は変わらないはずです。逆に考えると、属性が表示形式で変わったら、怖くて使えません。日付などは見た目の表示が違っても本質は変更されていないのがいい例でしょう。 記憶にある(ただ一つの)違いは、添付図でセルB9:B14を選択し、「データ」タブ>「区切り位置」>区切り位置指定ウイザード 1/3 で何もせずに「完了」ボタンをクリックしてみてください。「'」と「'123」の場合は「'」が削除されますが、表示形式が標準の場合は数値に変換されます。当然のような気もしますが。これは、他システムからインポートしたデータで列が標準なのに文字列扱いされた数値(左揃え)を数値に変換するときに使うので記憶にああった次第です。 ご参考に。

yam2012
質問者

お礼

「'」を単体で入力しても表示されなくなるのに 教えていただきました方法では「'」が表示されるようになりました。 でもこれをVBAマクロで行うとうまくいかなくなるなど まだ私にはExcelの挙動がとても不思議な感じがしていますが ここで教えていただきましたことは今後の参考にしたいと思います。 添付図も付けていただいて詳しい説明をして頂きまして ありがとうございました。

その他の回答 (1)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

(問1)の回答 無効はできません。表示には「''」のように「'」を連続入力するしかありません。 (問2)の回答 先頭に「'」が付くと文字列(左寄せ)になるのは、Lotus1-2-3の名残です。 詳細はこちらのURLを参照 http://officetanaka.net/excel/function/tips/tips15.htm (問3)の回答 数値の計算に使われる場合 「'」無しは0とみなされますが、「'」有りは文字列とみなされるため#VALUE!となります。 またセルの内容の参照結果は 「'」無しは0、「'」有りは「'」があるものとして何も表示されません。

yam2012
質問者

お礼

Excelの挙動がまだよく理解できていませんが 無効にすることができないということが分かっただけでも質問してよかったです。 教えていただきましたことは今後の参考にします。 ありがとうございました。

関連するQ&A

  • ExcelからCSV出力して読込むと削除変換される

      Excelのブック1のシートに入力されたデータを 一度、CSVファイルに出力して このCSVファイルを別のツール(perlなど)で変換して この変換されたCSVファイルを再び 別のExcelのブック2のシートに読み込ませたいのですが Excelのブック1から出力したCSVファイルを 別のツールで変換しなくてもそのまま Excelのブック2のシートに読み込ませた時点で 文字の一部が消えたり数式が値になったりしてしまっています。 具体的には、 セルの先頭の ' (シングルクォーテーション) が消えてしまったり、 1つ足りなくなったりしています。また、 先頭の =1+1 などは、(表示上) 2になったりしてしまっています。 なお、セルの書式設定が標準だと、先頭の @ の後に続けて入力すると 正しく入力できませんが、セルの書式設定を文字列にすると、 この @ の問題は起きなくなりました。でも、セルの書式設定を文字列にしても ' (シングルクォーテーション) や数式が計算結果になる問題は 解決していません。 (問1) 削除されたり変換されてしまうのは     ・先頭の ' (シングルクォーテーション)     ・先頭の =     ・先頭の @    の3つのケースだけでしょうか。    このほかにもありましたら教えてください。 (問2) 先頭の =1+1 の場合ですが    セルの書式設定が標準の状態で =1+1 と入力すると    数式バーには =1+1 と表示されていて    セルの書式設定が標準だと2と表示されていてその後    セルの書式設定を文字列にしても2と表示されています。    逆に、    セルの書式設定が文字列の状態で =1+1 と入力すると    数式バーには =1+1 と表示されていて    セルの書式設定が文字列だと =1+1 と表示されていてその後    セルの書式設定を標準にしても =1+1 と表示されています。    いずれも入力したデータは同じなのに    入力時点での表示形式で表示内容が固定されてしまっていて    その後、表示形式を変更しても表示内容が反映されていない    ように感じるのですが何が起きているのでしょうか。 (問3) 前述の理由により、CSVファイルをセルの書式設定が文字列    の状態で読み込ませることはできるのでしょうか。    (後でセルの書式設定を文字列に変更しても =1+1 と表示されないので) (問4) Excelのブック1のシートのセルには     ユーザーが好き勝手な文字や数値や記号を入力します。     何を入力されても変化してしまわないようにすることはできるでしょうか。      ( 頭に ' を付けることをユーザーに強要するとか、       事前にセルの頭に ' を入力しておくなどはなしです) (問5) もし、できない場合、Excelのブック1のシートの各セルの先頭に     ' (シングルクォーテーション) や = から始まる数式を    入力することができないように制限をかけることはできるのでしょうか。 よろしくお願いします。(Windows7,Excel2010)

  • エクセルの先頭の’(アポストロフィー)

    タイトルの通り、エクセルを使用していて、セルの先頭(1文字目)に ’(アポストロフィー)を入れると、セルの書式設定で「文字列」を 選択していても無視されてしまいます。 どうしても先頭に’を表示させたいのですが、どうすればよいのでしょうか?

  • Excelでセルの先頭に全角の「’」を入力したい

    Excelで、「’レヘ」=全角の「’」+「レヘ」と入力をしたいのですが、セルの先頭に「’」の入力をすると、「’」が半角になり、非表示になってしまいます。 「+」「-」などは、[セルの書式設定]で、[表示形式]を「文字列」にすると、入力することが出来るのですが、全角の「’」はうまくいきません。 ちなみに「レヘ」はアイヌ語の「~の名前」で、文字の上にダッシュがついています。 文字の上にダッシュをつけることができて、そのダッシュが見やすいのであれば、その方がテキストに合って良いとは思うのですが・・・。 どなたかご存じの方、よろしくお願い致します。

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

    会社のシステムで吐き出したデータですが セルの書式設定が標準なのに文字列となっています。 マクロを利用して、あるセルの値を別セルへ転記すると、 数字は数値に変換され、先頭の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 2010を使用しています。セルに「5-1」と入力すると「5月1日」と表示されてしまいます。それで入力前に「セルの書式設定」を「文字列」に指定してから入力すると「5-1」と表示してくれます。ところが Web ページなどからそのままコピー&ペーストすると入力前に「セルの書式設定」を「文字列」に指定したにもかかわらず,「5月1日」となり,勝手に「セルの書式設定」が「ユーザー定義」に切り替わってしまいます。Web ページなどからコピー&ペーストしたデータを「文字列」のまま入力させる方法はありませんでしょうか?

  • エクセルのセルの表示について

    いつもお世話になっております。 セルに「4865-13」と入力すると普通に表示されますが、「4865-12」と 入力すると「Dec-65」になってしまいます。セルの書式設定で、表示 形式を見ると「日付」になっているので、「標準」にすると「1083251」 になります。文字列にすると「4865-12」のまま表示できるので、文字列 にしています。 不思議な現象です。「1083251」や「Dec-65」の意味も含め、なぜこの ようなことが起こるのか教えてください。よろしくお願いします。

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

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

  • excelで0が13個貼り付け

    excel2000で 000000000000(←0が13個)とセルの書式設定、ユーザー定義で設定しているセルがあります。 このセルをコピーして、貼り付けるときの方法について相談です。 excel2000で 000000000000(←0が13個)とセルの書式設定、ユーザー定義で設定しているセルがあります。 たとえば、このセルに0と入力すれば、000000000000(←0が13個)と表示されるのですが、 このセルをコピーして、ユーザー定義が文字列のセルに貼り付けていのですが、どうしても0としか貼り付けられません。 ユーザー定義が文字列のセルにも、000000000000(←0が13個)と貼り付けられるようにするにはどうすればいいでしょうか

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

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

  • エクセル セルに0(ゼロ)を表示させないようにするには?

    いつもお世話になっております。 エクセルについておしえてください。 セルに0(ゼロ)を入力しても表示させない、(空白のまま)ようにするにはどうしたらよいのですか? ちなみに『セルの書式設定』→「文字列」などの設定ではないと思います。

専門家に質問してみよう