• ベストアンサー

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

 エクセル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