- 締切済み
エクセルで住所の数字を漢数字に換えたい
初めまして。 エクセルで住所録があるのですがそれを封筒に縦印刷しようとしたのですが 住所の数字の部分が22とかだと縦に2が二つでてきて非常に見にくいので横並びの22にするか漢数字の22にするかしかないと思うのですが漢数字にする関数を使おうとしたところ文字が入ってるとダメみたいでうまく生きません。 どうすればイイでしょうか? 良い方法があれば教えてください。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
下記のような変換例でよければ、短いVBAで一発変換できるが。 例 A列 B列(変換結果) 新宿区大京町2-2-23 新宿区大京町二‐二‐二三 新宿区大京町2-32-241 新宿区大京町二‐三二‐二四一 新宿区大京町2-234 新宿区大京町二‐二三四 新宿区大京町2-2 301 新宿区大京町二‐二 三〇一 新宿区大京町12-227 F234 新宿区大京町一二‐二二七 F二三四 新宿区大京町3-233-28 新宿区大京町三‐二三三‐二八 新宿区大京町223 新宿区大京町二二三 新宿区大京町8-2 暁マンション1-301 新宿区大京町八‐二 暁マンション一‐三〇一 ーーー 標準モジュールに Sub test01() n = "1234567890-" s = "一二三四五六七八九〇‐" For i = 1 To 10 x = Cells(i, "A") For j = 1 To Len(x) p = InStr(n, Mid(x, j, 1)) If p > 0 Then x = Mid(x, 1, j - 1) & Mid(s, p, 1) & Right(x, Len(x) - j) End If Next j Cells(i, "B") = x Next i End Sub ーー 半角ハイフンについては 上記のコード s = "一二三四五六七八九〇‐" を s = "一二三四五六七八九〇ノ" にすれば 新宿区大京町二ノ二ノ二三 のようになる。
> 漢数字にする関数を使おうとしたところ文字が入ってるとダメみたい 何を使ったんでしょう。 NUMBERSTRING関数や TEXT関数での漢数字変換 は確かに数値に対してのみ有効です。 数式でやるなら1式ではできません。 A1セルにデータがあるとして ■B1セル =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( A1,"1","一"),"2","二"),"3","三"),"4","四"),"5","五") ■C1セル =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( B1,"6","六"),"7","七"),"8","八"),"9","九"),"0","〇") 百やら千やらも対応させるなら その分 作業列を増やして下さい。
- mshr1962
- ベストアンサー率39% (7417/18945)
ワードやアクセスのはがきウィザードを利用するか http://www.hobby-navi.com/kouritu_up/hagaki_2.html 下記のサイトのフリーソフトのマクロを利用する。 http://www.vector.co.jp/soft/win95/writing/se210535.html
- endows105
- ベストアンサー率31% (10/32)
「にじゅうに」と入力して変換では駄目なんですか?
- ponpoon
- ベストアンサー率0% (0/10)
もっと良い方法があるかもしれませんが、 自分なら変更したいデータの範囲を指定した後にCtrl+Fで 検索・置換ウィンドウを出して、変更します。 オプションで、詳細置換も可能です。