総ありがとう数 累計4,285万(2014年10月25日現在)

毎月4,000万人が利用!Q&Aでみんなで助け合い!

-PR-
silabel

エクセル2000で文字列のセルに
1234567
のように7桁郵便番号が入っています。
これを
123-4567
のように前から4桁めにハイフンを入れる方法を
教えていただけませんでしょうか。

*データ件数が3万件ほどあり、その変換のためです。
  • 回答数6
  • 気になる数0

Aみんなの回答(全6件)

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

  • 2004-01-05 15:53:09
  • 回答No.4
A1に郵便番号データがあるとして、別セルに
=Left(A1,3) & "-" & Mid(A1,4,4)
を入力。
3万件分をコピーして、元セルに値のみを戻す方法ではいかがでしょうか?
お礼コメント
ありがとうございます。
0で始まる郵便番号がありデータは文字列で入っているため、この方法でうまくいきました。
投稿日時 - 2004-01-07 13:31:47
  • 同意数0(0-0)
  • ありがとう数0

その他の回答 (全5件)

  • 2004-01-05 15:51:42
  • 回答No.1
セルの書式設定をユーザー定義から
000"-"0000
とすることでそう表示させることが可能です。
通報する
  • 同意数0(0-0)
  • ありがとう数0
  • 2004-01-05 15:52:01
  • 回答No.2
No.312044のQ&Aをご参照下さい。

では、再見!!
通報する
  • 同意数0(0-0)
  • ありがとう数0
  • 2004-01-05 15:52:14
  • 回答No.3
セルの書式設定からその他(郵便番号)を選択。
これでOKです。
通報する
  • 同意数0(0-0)
  • ありがとう数0
  • 2004-01-05 15:53:41
  • 回答No.5
列を選択 → 右クリック → セルの書式設定 → 分類(その他) → 種類(郵便番号) で変換可能です。 お試しください。
お礼コメント
この方法はセルに入っているデータが数値の場合に大変便利ですね。
今回は文字列でしたので他の方法をとりました。
投稿日時 - 2004-01-07 13:23:53
通報する
  • 同意数0(0-0)
  • ありがとう数0
  • 2004-01-05 21:38:37
  • 回答No.6
VBAですが、7行ですから、VBE画面に標準モジュールを挿入し、そこに下記をコピーし貼りつけ、実行すれば、三万行でも数秒で終わるでしょう。セルの値を直接変えます。
Sub test01()
d = Range("A1").CurrentRegion.Rows.Count
For i = 1 To d
a = Cells(i, "A")
Cells(i, "A") = Mid(a, 1, 3) & "-" & Mid(a, 4, 4)
Next i
End Sub
Aとなっているところは、郵便番号の入っている列番号に変えて下さい。C列なら(i,"C")のように。
住所が第4行目から始まるなら、
d = Range("A4").CurrentRegion.Rows.Count
For i = 4 To d + 4 - 1
のようにしてください。
郵便番号の文字が全角文字なら"-"を"-"に全角に変えて下さい。
セルの値を直接変えるので、別シートへ少数データをコピーし、テストしてから本番を実行のこと。
通報する
  • 同意数0(0-0)
  • ありがとう数0
  • 回答数6
  • 気になる数0
  • ありがとう数23
  • ありがとう
  • なるほど、役に立ったなど
    感じた思いを「ありがとう」で
    伝えてください

関連するQ&A

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

別のキーワードで再検索する

あなたの悩みをみんなに解決してもらいましょう

  • 質問する
  • 知りたいこと、悩んでいることを
    投稿してみましょう
-PR-
-PR-
-PR-

特集

専門医・味村先生からのアドバイスは必見です!

関連するQ&A

-PR-

ピックアップ

  • easy daisy部屋探し・家選びのヒントがいっぱい!

-PR-
ページ先頭へ