• ベストアンサー

エクセルで数字を入力した時、数字の前に一定の文字を表示させたい

 エクセル2000です。たとえば、一つのセルに    123456 と六桁の数字を入力しただけで、数字の前に SAと表示され  SA123456 となるようにしたいのです。数字は六桁で、数値は変わっていきますが、数字の前のSAという文字は、変わらず一定にしたいのです。どのような、数式にしたら良いでしょうか?

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

  • ベストアンサー
回答No.2

私なら、数式ではなくて、セルの書式設定で行います。 セルで右クリックし「セルの書式設定画面」がでたら表示形式のところで ユーザー定義を選びます。 G/標準と右側にでているところで、Gの前に"SA"と入力します。 この書式にしておけば数字を入れればその前にSAがつきますよ。 ""は間に文字をいれたりして、時々関数でも使うので便利ですね。

rosily
質問者

お礼

ありがとうございます。数式より簡単ですね。

その他の回答 (3)

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

入力したセルそのものを書き換えるなら関数ではできませんね。 ●見た目でいいなら、書式設定で可能です。 ●別セルをつかっていいなら、A1に数値がある例で、別セルに   ="SA"&RIGHT("000000"&A1,6) または =TEXT("SA000000",A1)  として、これを、形式を選択して貼り付け→値で 書き換えます。 ●別セルを使わず、入力と同時に『SAxxxxxx』にしたいなら、マクロしかないでしょう。  下記は、Sheet1のA1:B20の範囲の変更について書き換える例です。範囲は書き換えて下さい。 ツール→マクロ→Visual Basic Editor でVBE画面に移り、表示→プロジェクトエクスプローラでプロジェクトエクスプローラを表示し、Sheet1をダブルクリック。 出てきたコードウインドウに下記コードをコピーして貼りつけます。 ここから ↓ Private Sub Worksheet_Change(ByVal Target As Excel.Range)   Dim rg As Range 'セル   'エラー対応。イベントが発生するようにして終わる。   On Error GoTo ErrorHandler   'セルを書き換えるので再度イベントが発生しないようにする   Application.EnableEvents = False   '複数範囲を処理した時は個別に処理する   For Each rg In Target     'A1:B20の範囲の変更について書き換える例     If Not Intersect(rg, Range("A1:B20")) Is Nothing Then       If rg <> "" And IsNumeric(rg) Then         '数値入力ならば、6桁数値の先頭に『SA』を付ける         rg = "SA" & Right("000000" & rg, 6)       End If     End If   Next   Application.EnableEvents = True   Exit Sub ErrorHandler:   Application.EnableEvents = True End Sub

rosily
質問者

お礼

ありがとうございます。マクロは、まだ勉強中なのでとても参考になりました。

  • tanukiti
  • ベストアンサー率0% (0/2)
回答No.3

はじめまして。tanukitiと申します。 それでしたら、数式でなくても出来ると思います。 表示させたいセルを右クリック-[セルの書式設定]で、 [表示形式]タグ内のユーザー定義を選択。 テキスト内に"SA"000000と入力して、OKボタンを押下します。 上記の操作で、表示形式を設定したセルに6桁の数字を入力すれば、 SAXXXXXXと表示されるようになります。 参考にしていただけたら幸いです。

rosily
質問者

お礼

ありがとうございます。別のセルを使わず、関数でできないかと思ったのですが、[セルの書式設定]のほうが、簡単ですね。

  • hinebot
  • ベストアンサー率37% (1123/2963)
回答No.1

数字が6桁固定なら、セルの書式設定でユーザー定義を選び、 種類に"SA000000"と入れればOKです。 なお、この場合例えば3桁の数字"123"と入力すると"SA000123"となりますが これを"SA123"としたければ、"SA000000"の変わりに"SA######"とすればOKです。

rosily
質問者

お礼

ありがとうございます。やはり、セルの書式設定でやったほうがいいんですね。

関連するQ&A

  • エクセルで数字が文字化け

    エクセル初心者です。 表にバーコードの数字(13桁)を入力したところ、文字化けしてしまいます。 セルをアクティブにすると数式バーには表示されますが、セル内は化けたままです。 どうやったら入力したままの数字を表示させることが出来るのでしょうか。 オフィス2000、WIN Meです。

  • エクセル 12桁以上の数字の入力について

    エクセルのセルに12桁以上の数字を入力(貼り付けも含む)すると 1.23457E+11 のように表示されます。入力したとおりに表示させるにはどのような設定をすればいいか教えてください。 セルの書式設定の表示形式を「数値」などに変更するか ’を付けて文字列として入力すればいいのは分かっていますが面倒なので何もしないで最初から123456789012 のように表示させたいのです。セルの幅を広げても1.23457E+11のままです。 数式バーには 123456789012 のように正しく表示されています。セルの書式は「標準」になっていてサンプルは1.23457E+11となっています。 よろしくお願いします。

  • 教えてください。エクセルで入力した数字が正しく表示されないのですが‥

    パソコン初心者です。 最近仕事でエクセルを使い出したのですが、どうしても解決できない事があるので教えてください。 セルに数字を入力すると、0と表示され数式バーには0.0000~と表示されてしまいます(例えば1000と入力すると0.0000001) セルの書式設定で標準→数値→通貨などを試しましたがダメで、ユーザー定義なども操作してみましたが、そうすると今度はセル内に0.00~と表示されてしまいます。 今までは文字列で入力していたのですが、最近計算の必要が出てきて困っています。 どなたか解決方法をご存知の方がいらっしゃいましたら是非教えてください。

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

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

  • エクセルのセルに入力中の文字

    以前、XPの時にはエクセルのセルにも入力中の文字が表示されていましたが、7にしたら入力中の文字や数字は上の数式の表示の枠にしか出なくなりました。何とかセル内に出す方法があったら教えてください。

  • エクセル2003で入力した数字に応じ別のセルに固定文字を表示

    エクセル2003で入力した数字に応じ別のセルに固定文字を表示 例として セルA1に0155と入力があれば、左の2桁01を認識してセルB1は"赤"と表示 セルA1に0255と入力があれば、左の2桁02を認識してセルB1は"青"と表示 セルA1に0355と入力があれば、左の2桁03を認識してセルB1は"緑"と表示 上記のように設定したいのですが、調べても関数の組み合わせがわかりません。 教えてください。宜しくお願い致します。

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

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

  • エクセルで1と入力し0001000001と表示するには?

    お伺いします。 エクセルで4桁までの数字を入力してゆくのですが、例えば 1と入力し0001000001と表示 10と入力し0001000010と表示 125と入力し0001000125と表示 4125と入力し0001004125と表示 という具合にするには、どのようにすればいいのでしょうか? 左から6桁は「000100」という数字が入るようにしたいのです。 例えば、「1」を「0001」、「10」を「0010」と入力するのでも 大丈夫です。 ただ、この10桁の数字をVLOOKUP関数で使いたいので、 ひとつ左のセルに「000100」と入れるというのでは、 ダメなんです。 困っています・・・。 よろしくお願いします。

  • Excelで、同じ文字を入力する手間を省きたい

    Excel97を使用しています。 C列に「会員番号」を入力するのですが、 5桁の番号の前に、「0」を5つつけたいのです。 いちいち「0」を打たずに、自動的に頭に5つ 「0」が入るようにしたいのですが…。 「セルの書式設定」の「表示形式」→ 「ユーザー定義」で「"00000"#####」とすれば、 一応そのように表示はされるのですが、 数式バーでは「0」は表示されませんよね? (数字なので…) でも、実際のセルに「00000XXXXX」と入力 されているようにしたいのです。 (C列が、他の数式の参照先になっているので) 「表示形式」を「文字列」にしてしまうと、 「0」がなくなってしまいますし…。 関数はあまりよく分からないのですが、 「0」の5つ入った列と、 数字の入った列を「CONCATENATE」でつないで、 後で「形式を選択して貼り付け」→「値」 にすれば一応出来ますが、 もっと手軽にやる方法はないでしょうか? マクロは全然分からないのですが、 そういったものを使わないと無理なのでしょうか?

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

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

専門家に質問してみよう