まりふのひと

Excel/新発見!郵便番号から住所を入力するとPhonetic関数で郵便番号を得ることができる

≪目次≫


いきさつ

 「世界一やさしいExcel2016」(インプレス)の 第1章第2章に続き、第3章の「住所入り会員名簿」を Excel2013 で、経験と勘と独断(KKD)で作成した。

テキストは全部読んでいないので、右図のとおり出来ているか否かは不明だが...


住所から郵便番号を作る

 「郵便番号から住所を入力する」で新発見した。

  • テキストでは『住所1(D列)に郵便番号を入力して変換する』とあるが、これはごく普通の方法。
  • 自分流は、左側(C列)が郵便番号(半角で入力)なので、
    1. D列にカーソルが移った時、
    2. Ctrl+R ‥‥ これで郵便番号はコピーされる
    3. F2 ‥‥ これで編集モードになる
    4. [変換]キー押下
    だが、Ctrl+R で書式までコピーされるので、[データの入力規制]が「オフ(英語モード)」に変わってしまうので‥‥ 使えないかぁ~
  • Excel 郵便番号から住所
    plaza.rakuten.co.jp
    郵便番号を入力し、住所を表示させる場合
     事前にIMEのプロパティ-辞書/学習タブにて、郵便番号辞書にチェックを入れておいて下さい。
    A1に =PHONETIC(B1) と関数を入力しておき、B1に郵便番号を入れて「変換」 させてみて下さい。A1、B1それぞれに表示されたと思います。

 エッ? 早速、試してみた‥‥ ら、いいねェ~
郵便番号は全角で表示されるの asc関数で半角にすればいい‥‥
 具体的には、

  1. セルC2に計算式 "=ASC(PHONETIC(D2))" を入力しておく。
  2. セルD2は、例えば "742-1513" で住所に変換し、Ctrl+Enter*1 でセルの入力確定する。
  3. セルC2に "742-1513" が表示される。
  4. F2 ‥‥  編集モードにする
  5. 住所1の続きを入力する。

 新しい行を入力する時は、C列で Ctrl+D で上のセルの計算式をコピーし、住所1を入力すればよい。

💡追記(2019-07-26)

  1. この方法では、追加入力した文字列が郵便番号列にも加えられる...
  2. 応急対応として、郵便番号は上8桁で切ることにした。
     =Left(ASC(PHONETIC(D2)),8)


ふりがなを作るには(マクロ)

 Excel 以外から「氏名」を取ってくると、ふりがな が付かないので‥‥

  • Excel ふりがなを作成する by 超簡単なマクロ使用(未経験者OK!)
    plaza.rakuten.co.jp
     早速、マクロを作成してみます。
    1. [ツール]-[マクロ]-[マクロ] で [マクロ]ダイアログ が表示されます。
    2. マクロ名:ふりがな作成
      マクロの保存先:作業中のブック
      として、[作成]ボタン をクリックすると、Microsoft Visual Basic の編集画面が表示されます。
    3. 下図のように、プログラム(命令書:マクロ.xls-Module1(コード)の見出しの画面)を一行だけ入力します。
      Selection.SetPhonetic
      Sub と End Sub の間に入力します。
    4. 入力したら、右上の [×]ボタン で、編集画面を閉じます。
    これで準備が出来ました


年齢を+1するには

 この表には「年齢」の列がある。それ自体は問題ないとして、「何年何月現在」の年齢かが、明確でない。最低限、それが判るシート見出しにすべきではないか‥‥ と思う。
 例えば、年齢を+1する関数は‥‥ ないのではないか。で、直ぐVBAに走るが、何かいい方法はないのだろうか...

  • 選択範囲の数値に同じ数値を追加したり演算する(引用:なんだ!カンタン!Excel塾)
    kokodane.com
    f:id:ogohnohito:20190809143852p:plain:w400

理解は横に置いておき、下記コードで対応した。

Public Sub 年齢加算()
    Selection.Value = Evaluate(Selection.Address & "+1")
End Sub


サンプルデータ


*1:確定後、セルを移動させない