プロが教えるわが家の防犯対策術!

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

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

 SA123456

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

A 回答 (4件)

私なら、数式ではなくて、セルの書式設定で行います。


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

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

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

お礼日時:2002/06/21 12:37

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



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

●別セルをつかっていいなら、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
    • good
    • 4
この回答へのお礼

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

お礼日時:2002/06/21 12:42

はじめまして。

tanukitiと申します。

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

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

参考にしていただけたら幸いです。
    • good
    • 6
この回答へのお礼

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

お礼日時:2002/06/21 12:41

数字が6桁固定なら、セルの書式設定でユーザー定義を選び、


種類に"SA000000"と入れればOKです。
なお、この場合例えば3桁の数字"123"と入力すると"SA000123"となりますが
これを"SA123"としたければ、"SA000000"の変わりに"SA######"とすればOKです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/06/21 12:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています