• 締切済み

エクセルの文字列について

エクセルの文字列についていまさらながら素朴な疑問です。 たとえば0007を入力したいとき、 そのまま打ったら000が画面上に反映されません。 そこで000を反映させるために2つの方法 がありますよね。 1つは0の前に「'」をつける方法、 もうひとつはセルの書式設定で「文字列」に変える方法があると思いますが、この2つの違いはなんなのでしょうか?? といいますのも、複数の方にデータ入力の作業をしてもらっていて私がまとめ役なのですが、 こちらの説明不足で、 000が先頭にくる数字の入れ方を上記2つのどちらかで統一させなかったため、画面上はきれいに入っていますが、中身をみると(的確な表現が思いつきませんが)「’」がついていたりなかったりします。 どうせなら統一させるために「’」をとりたいのですが、これをとる方法が見つかりません。 (そもそも、何の影響もないからとる必要がないといわれたらそれまでですが・・) 恐れ入りますが、上記2点教えていただけると助かります。 よろしくお願いいたいます。

みんなの回答

  • Flak45
  • ベストアンサー率29% (91/306)
回答No.5

#2です。 若干補足。 半角数字と全角数字が混在する場合には http://www.morgan.co.jp/kiso/6excel-1.htm の、重複マクロの半角<>全角変換機能が大変便利です。 また、入力するシートを配布して共同でデータを作る場合は http://www.morgan.co.jp/kiso/4excel-4.htm の方法が便利です。 参考にしたHPのURLのTopは http://www.morgan.co.jp/kiso/index.html (モルガンデータシステムさん) です。

  • wakudo
  • ベストアンサー率32% (18/56)
回答No.4

#2さんの回答でなるほどねぇ~と関心したものです。 ただ、少し気になったのはそのデータの処理はどうされるのかなぁと思いました。 数値でなにか表を管理するのであれば文字列と認識させずに数値として扱うほうが後々処理が便利な部分があると思いました。 (オートフィルとか並べ替えとかフィルタ機能とかが使いたくならないですか?) でも、表示形式は『0000』の4桁でしたいんですよね。 しかも表示形式は知っているのなら結構簡単ですよ。 まず手っ取り早く4桁数字の入る列全体を選択しておきます。 それから、表示形式の分類から『ユーザー定義』を選択しダイアログボックスの右真ん中よりちょい下あたりに細長いテキストボックスがあります。 マウスを近づけるとIの字になるのでわかります。 そこをクリックし、多分データが入っていると思うのでそれを削除します。 その後直接入力にて自分の表示したい『0000』と桁数を0にて入力してOKすればこれで大丈夫!! 列全体を選択しているのでその列の1行目におそらく列見出し(項目のタイトル)が入っていると思うのですが、そこは文字を入力されるのでは? それなら何も気にしなくて大丈夫です。 この表示形式は選択していたセルに数値が入ったときのみ有効なものなので。  *入力する人が複数いるのであれば先にこちらで書式をある程度設定したひな形を渡してあげるといいかもしれないですよ。

回答No.3

No.1さんの補足と訂正 >「’」をとりたいのですが、これをとる方法 基本になるセルを「セルの書式設定」で希望の書式(文字列)にして、「'」をとって確定しておきます。 これをコピー  対照のデーターをすべて選択 右クリック→形式を選択して貼り付けの"書式"を選択でOK 書式のみのコピーにより、「'」は消えています。この逆も同じやり方で変更可。

  • Flak45
  • ベストアンサー率29% (91/306)
回答No.2

「'」をつけた場合は入力したデータが「文字列」として入力されたことになります。 「'」なしで文字列として表されるセルは「文字列のセル」です。 前者はセルの属性が固定されておらず、後者はセルの属性が文字列に固定されています。 統一する方法としては、検索・置き換えで、検索する文字を「’」置き換えする文字を「」(なし)にすると「’」はまとめて取ることができます。 あらかじめ、シート全体を文字列のセルにしてから行うと良いかもしれません。

  • platypus
  • ベストアンサー率27% (24/88)
回答No.1

2つの違いについては分かりかねますが、該当するデータをコピー→形式を選択してペーストを選んで、値として貼り付けを行うと、「'」がとれてません? (今試したらとれたのですが....)

関連するQ&A

  • エクセルで半角数字には数値と文字列がある?

    http://okwave.jp/qa/q6473596.html の質問を見て私も納得がいかず質問させていただきます。 たとえば、A1セルの書式を文字列に設定してから半角で数字を打ち込むと数字は数値でなく文字列としてセルに入ります。 この入力後、A1セルの書式を標準や数値に直してもそのセルの中の数字は左に寄ったままで文字列のままでいるようです。 (でもこれをセルの中でエンターキーを押したりすると数値になってしまいますが) 次にB1セルの書式を標準あるいは数値にして数字を打ち込むと、当然のことですが数字は数値としてセルに入ります。 この入力後、B1セルの書式を文字列に変えると数字は左に寄りますから一見文字列になったように見えます。 ところが上記のセルとこのセルをA1=B1で試してみるとFALSEが返ります。 逆に同じ数字を数値として打ち込んだセルと=で試すとTRUEが返ります。 これはA1とB1は同じ文字列としての数字ではないという証拠だと思います。 B1セルの書式を標準に戻すとまた数字は右よりにもどりますから、セルの中の数字は数値のままのようです。 つまり、半角の数字にはセルの書式にかかわらず文字列と数値の二つがあるということなのでしょうか? だとしたらこの二つはどうやって区別すればいいのでしょうか?

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

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

  • Excelの数字の文字列入力で

    Excel2003です。 セルに   "651,652,653" のような3ケタ分の数字とカンマの文字列を入力しようとすると    651652653 という数値にみなされてしまいます。 入力するときに、文字列の先頭に ’ を付けると文字列に みなしてもらえるのですが、つい忘れてしまい面倒です。 セルに指定などで設定する方法は何かありますでしょうか。 よろしくお願いします。

  • エクセルで数字を文字列として確定する

    エクセルで顧客ID10桁の管理をしたいと思っています。 アルファベットなどではなく、数字だけを使用した10桁の顧客IDで 先頭は必ずゼロが4つ並びます。 入力をする際に数値としての要素は、全く必要ないので 純粋に文字列として扱いたいのですが セルの書式で「文字列」としても セルの左上に緑色の三角が表示され ダブルクリックをすると先頭のゼロが削除されてしまいます。 ものすごく作業に不便さを感じるのですが 普通に「abcdefg」と文字列を入力した場合と 全く同じ扱いとするようにはできないのでしょうか? エクセルに詳しい方教えてください。 ちなみに使用しているエクセルは2010です。

  • エクセル2003で数値を文字列に

    Windowsのエクセル2003です。 すでに入力されている文字列13桁以上を 文字列に変換できないでしょうか? 入力していくうちに先頭に0が必要な場合も出てきて 困っています。桁数はまちまちなので書式設定でも出来そうにありません。VALUEやTEXTもうまくいきません。 書式で文字列にしても文字化けしてしまいます。 何かいい方法はございませんか?

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

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

  • Excel 文字列の中から数字だけを削除したい

    Excel 2007で各セルに文字列として入力されている、数字を削除し文字だけにしたい。 数字は先頭に入力されています。(顧客コード) 例: 12345-001 ABC株式会社 98765- ZYX有限会社ごお商会 等 数字を削除し文字列だけで元のセルにセットしたいです。 きっと簡単なことなんでしょうけど、過去を検索しても良くわかりませんでした。 よろしくお願いいたします。

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

    会社のシステムで吐き出したデータですが セルの書式設定が標準なのに文字列となっています。 マクロを利用して、あるセルの値を別セルへ転記すると、 数字は数値に変換され、先頭の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の文字列と文字列の連結

    A1のセルにはj50 C1のセルには01(ユーザ定義で00の書式) この二つの数値をCONCATENATE()関数を用いて文字列を 連結するとj501となってしまいます。 C1のセルを文字列の書式にするとうまくj5001と表示されますがそれ以外に方法はないでしょうか?

  • Excelで数字の文字数を統一したい。

    こんにちは、エクセルにて数字が入力されている複数行、例えば 1 10 50 100 500 1000 と入力された数字を 0001 0010 0050 0500 1000 と数字の文字数を統一したいのですがどうすればよいでしょうか? 変換対象のセルの形式は、標準でも文字列でも特に問いません(これから入力するので)変換後のセルはおそらく文字列になると思います。 アドバイスお願いいたします。

専門家に質問してみよう