解決済み

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

  • 暇なときにでも
  • 質問No.296123
  • 閲覧数3065
  • ありがとう数5
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 98% (50/51)

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

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

 SA123456

となるようにしたいのです。数字は六桁で、数値は変わっていきますが、数字の前のSAという文字は、変わらず一定にしたいのです。どのような、数式にしたら良いでしょうか?
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2

ベストアンサー率 40% (8/20)

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

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

お礼率 98% (50/51)

ありがとうございます。数式より簡単ですね。
投稿日時 - 2002-06-21 12:37:57
OKWAVE 20th Be MORE ありがとうをカタチに

その他の回答 (全3件)

  • 回答No.4

ベストアンサー率 68% (791/1163)

入力したセルそのものを書き換えるなら関数ではできませんね。

●見た目でいいなら、書式設定で可能です。

●別セルをつかっていいなら、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

お礼率 98% (50/51)

ありがとうございます。マクロは、まだ勉強中なのでとても参考になりました。
投稿日時 - 2002-06-21 12:42:34
  • 回答No.3

ベストアンサー率 0% (0/2)

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

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

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

参考にしていただけたら幸いです。
お礼コメント
rosily

お礼率 98% (50/51)

ありがとうございます。別のセルを使わず、関数でできないかと思ったのですが、[セルの書式設定]のほうが、簡単ですね。
投稿日時 - 2002-06-21 12:41:12
  • 回答No.1

ベストアンサー率 37% (1123/2963)

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

お礼率 98% (50/51)

ありがとうございます。やはり、セルの書式設定でやったほうがいいんですね。
投稿日時 - 2002-06-21 12:37:05
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ