みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

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

解決済みの質問

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

 エクセル2000です。たとえば、一つのセルに
 
 123456

と六桁の数字を入力しただけで、数字の前に SAと表示され

 SA123456

となるようにしたいのです。数字は六桁で、数値は変わっていきますが、数字の前のSAという文字は、変わらず一定にしたいのです。どのような、数式にしたら良いでしょうか?

投稿日時 - 2002-06-20 12:53:20

QNo.296123

暇なときに回答ください

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

私なら、数式ではなくて、セルの書式設定で行います。
セルで右クリックし「セルの書式設定画面」がでたら表示形式のところで
ユーザー定義を選びます。

G/標準と右側にでているところで、Gの前に"SA"と入力します。
この書式にしておけば数字を入れればその前にSAがつきますよ。
""は間に文字をいれたりして、時々関数でも使うので便利ですね。

投稿日時 - 2002-06-20 13:05:41

お礼

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

投稿日時 - 2002-06-21 12:37:57

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

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

回答(4)

ANo.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

投稿日時 - 2002-06-20 14:01:36

お礼

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

投稿日時 - 2002-06-21 12:42:34

ANo.3

はじめまして。tanukitiと申します。

それでしたら、数式でなくても出来ると思います。
表示させたいセルを右クリック-[セルの書式設定]で、
[表示形式]タグ内のユーザー定義を選択。
テキスト内に"SA"000000と入力して、OKボタンを押下します。

上記の操作で、表示形式を設定したセルに6桁の数字を入力すれば、
SAXXXXXXと表示されるようになります。

参考にしていただけたら幸いです。

投稿日時 - 2002-06-20 13:07:58

お礼

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

投稿日時 - 2002-06-21 12:41:12

ANo.1

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

投稿日時 - 2002-06-20 13:03:34

お礼

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

投稿日時 - 2002-06-21 12:37:05

あなたにオススメの質問