• ベストアンサー

エクセル2000で、漢数字から算用数字へ変換する関数

算用数字から漢数字へ変換する関数はあるようですが、その逆の漢数字を算用数字に変換する関数ってありますか? 住所録ですが、 ○○四丁目 ××三丁目 □□2丁目 の表示を、算用数字を用いて統一させたいのですが…、よろしくお願いします。

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

  • ベストアンサー
  • meron_
  • ベストアンサー率40% (51/127)
回答No.5

> 地名に数字を含む場合はとりあえず置いておいて 番地と地名を分けては考えられません。 関数を使うと文字列に含まれる全ての文字を置き換え対象とするので、「三重県」は「3重県」になります。 SUBSTITUTE関数を使用した場合の例・・・ A1に"三重県松阪市五十鈴町九四ー七" と入力します。 B1の数式 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"一","1"),"二","2"),"三","3"),"四","4"),"五","5") C1の数式 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B1,"六","6"),"七","7"),"八","8"),"九","9"),"〇","0"),"ー","-") 関数のネスト(重ね合わせ)には限界があるので、2つに分けています。 結果は、「3重県松阪市5十鈴町94-7」 となってしまいます。 番地のみを変換することができれば問題は解決します。

ro-chan
質問者

お礼

重ねての回答どうもありがとうございます!! そういえば、市町村、丁目、地番はそれぞれ別々のセルに取り出すことは出来ていたんです。なので、教えていただいた式をコピーして解決しました!どうもありがとうございました。

その他の回答 (5)

  • meron_
  • ベストアンサー率40% (51/127)
回答No.6

#1、#5です。 漢数字は、「九百二十一」などの場合もありますか?

ro-chan
質問者

お礼

引き続き考えていただきどうもありがとうございました!おかげさまで前の回答で解決しました。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

#2 のWendy02です。 まあ、関数のほうは、どなたか考えるかと思いますので、それはパスさせていただきます。 ネストで10個も変換は出来ないでしょうね。そうすると補助列とか使うとか、いずれにしても大掛かりです。 #3のimogasiさん >三重県、一宮市、三日市市、四街道市、それに一番町など町名にいたるまで漢数字が出現するので、 昨日、どうも自分の中で何か、釈然としないなって思ったら、そのことでした。 この質問は、別の掲示板で既にやってみたことがあるのですが、その内容を忘れていました。たぶん、正規表現を使ったりして、丁目の後をアラビック数字に置き換えるなどというのは、VBAで可能だと思いますが、今回は、VBAは不可という条件のようですので、そのままにしておきます。改めて考えるときが来ると思います。

ro-chan
質問者

お礼

重ねての回答どうもありがとうございます!! おっしゃるとおり、関数を使うといくつかのセルに分けての式になるので本当大掛かりなのですけど…、VBAについてはおいおい勉強して行けたらと思っています。その際はまたご指導をよろしくお願いします。 どうもありがとうございました!

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

ネストしない1個の関数ではないと思います。 #1で言われている、SUBSTITUTE(SUBSTITUTE(・・))というようなネストをすると漢数字は数字に変換しますが、三重県、一宮市、三日市市、四街道市、それに一番町など町名にいたるまで漢数字が出現するので、住所全体を一律に変換すると、常識と違う結果になります。 ですから県、市区町村、町名は避けて、それ以外の丁目、番地、号 マンション棟室番号などの漢数字に限って数字に変換しないとなりません。 これは至難の業と思います。 VBAではロジックを決めれば、その範囲ではうまくいくのですが、 ロジックを上げろといわれても難しく、全国レベルでは例外が出現するかも知れな恐れはあります。VBAでも、やや完全を求めれば、町字と丁目以後を分けるには、郵便番号辞書のようなものを、参照しないとできないし、郵便番号辞書も、丁目で分かれて、別郵便番号になるところが結構あるので、一筋縄では行かない点があると思います。

ro-chan
質問者

お礼

ご指導どうもありがとうございます!! VBAについてはいずれ勉強していきたいと思います。その際にまた参考にさせていただきたいと思います。どうもありがとうございました!!

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1832474 算用数字(半角)から漢数字への変換(エクセル2000) こちらに、私のマクロがあります。 アラビック数字から漢数字 漢数字からアラビック数字 両方を用意しています。

ro-chan
質問者

補足

回答どうもありがとうございます! そのページは既に拝見しました。マクロが分かれば便利そうですね!ですが、マクロはどうも取っ付きにくくて…。マクロ抜きの関数で教えていただければ嬉しいのですが…。

  • meron_
  • ベストアンサー率40% (51/127)
回答No.1

ちょっとやっかいです。 SUBSTITUTE関数を10個重ねた数式で可能ですが、 「四日市」など、地名に数字を含む場合も変換されてしまいます。

ro-chan
質問者

補足

回答どうもありがとうございます! では、地名に数字を含む場合はとりあえず置いておいて、SUBSTITUTE関数を10個重ねた数式について詳しく教えていただけると嬉しいです。

関連するQ&A

専門家に質問してみよう