• ベストアンサー

Excelで住所の表示について

次のようにしたいのですがあまり複雑にならない方法を教えて下さい  東京都渋谷区***  神奈川県相模原市***  北海道札幌市*** と住所表示があります、これを別のCELLに貼り付け転記し  渋谷区***  相模原市***  札幌市*** の様に都道府県を削除したいのです、都道府県名のみを取り出し表示することはできたのですが 削除することができません、よろしくお願いいたします。

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

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8010/17118)
回答No.2

都道府県名のみを取り出すことができたのなら,元の住所の中の都道府県名の部分をSUBSTITUTEで削除すればよい。 例えば A1=東京都渋谷区*** A2=東京都 であれば =SUBSTITUTE(A1,B1,"")

kingkid08
質問者

お礼

ありがとうございます、Substituteを使うのは気付きませんでした、まだまだ勉強不足です、これからも努力します。

その他の回答 (5)

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.6

北海道、東京都、京都府、大阪府以外の43件は県です。 べたですが、北海道、東京都、京都府、大阪府は個別のVBA(マクロ) と残りの県付のVBA これら5つのVBAを連続記述して、一つのVBA にするのは如何ですか

kingkid08
質問者

お礼

ありがとうございます、VBAはこれから勉強したいと思います・

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.5

>なんでも一発でというのは困難なのでしょうか。 工夫次第です。 都道府県が必ず入っているか否かで数式の組み立て方が変わります。 あなたが都道府県を抽出した数式を回答No.4の数式のB2と入れ替えることで希望通りになります。 B2の数式を私なりに組み立てると次のようになります。 =LEFT(A2,MIN(FIND({"都","道","府","県"},A2&"都道府県"))) 都道府県の記載が無い住所を含むときは次のようにします。 =IF(MIN(FIND({"都","道","府","県"},A2&"都道府県"))<LEN(A2),LEFT(A2,MIN(FIND({"都","道","府","県"},A2&"都道府県"))),"") 但し、東京都府中市や宮崎県都城市のような場合は都道府県が無いと正常な抽出ができません。

kingkid08
質問者

お礼

ありがとうございます、これから検討したいと思います。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.4

>都道府県名のみを取り出し表示することはできたのですが削除することができません、 元の住所がA2に記録されていて都道府県がB2に抽出されているときC2に都道府県を除いた住所にすることは簡単です。 =SUBSTITUTE(A2,B2,"")

kingkid08
質問者

お礼

ありがとうございます、やはり都道府県名を表示させた後の処理ということでしょうか、なんでも一発でというのは困難なのでしょうか。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.3

都道府県名のみを取り出し表示することができたのでしたら、その都道府県名のみを取り出し表示した列のデータの文字数をcount関数で取り出し、その数+1以降の文字を住所表示されたセルからMID関数で抽出してみて下さい。 あるいは、A1セルに元の住所が記載されている場合ですが、以下の式を使ってみてください。 =IF(OR(LEFT(A1,4)="鹿児島県",LEFT(A1,4)="和歌山県",LEFT(A1,4)="神奈川県"),MID(A1,5,200),MID(A1,4,200))

kingkid08
質問者

お礼

なるほど! 参考になった考え方でありがとうございます 参考になりました。

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

マクロですが住所はA1~A3セルに書かれており C1~C3セルに出力します。 Sub Test()   Dim c As Range, ken As Variant, n As Long   For Each c In Range("A1:A3")     For Each ken In Array("府", "都", "道", "県")       n = InStr(c.Value, ken)       If n > 0 And n < 5 Then         c.Offset(, 2).Value = Mid(c.Value, n + 1)         Exit For       End If     Next   Next End Sub

kingkid08
質問者

お礼

ありがとうございます、表示したいと思っていた形通りなのですが マクロはまだ理解できなくて申し訳ありません、今後勉強したいと思います。

関連するQ&A

  • Access2013 住所録の都道府県を削除

    Access2013 フィールド(短いテキスト)に住所を「東京都大田区糀谷」や「神奈川県横浜市港南区」などと入力してある住所録があります。 これから、都道府県の表示を削除するクエリを教えて下さい。 宜しくお願いします。

  • Excel 住所分け

    都道府県列に 東京都渋谷区神宮前1-13-23 ●●●ハウス 東京都世田谷区南烏山5丁目11-3 千葉県柏市若柴178番地4柏葉キャンパス6F と入ってますそれを 都道府県 市区郡 以降の住所(町名・番地) ビル名 と分けたいです。↑は最初から入ってます。 番地とビル名の間はスペースあったりなかったり 番地の表示も色々です。 F列     G列         H列         I列        都道府県  市区郡   以降の住所(町名・番地)   ビル名 東京都   渋谷区   神宮前1-13-23        ●●●ハウス 東京都   世田谷区  南烏山5丁目11-3 千葉県   柏市    若柴178番地4         柏葉キャンパス6F

  • エクセル 住所を東京都世田谷区までで区切りたい

    エクセル2000を使っています。 H2のセルに東京都渋谷区道玄坂●-●-●と住所が入っています。 I2のセルに東京都渋谷区のように都道府県とその次までを表示させたいです。(それ以降の住所はJ列に表示されてもされなくてもOKです) いろいろ調べましたがわらかなかったのでご教授下さい。 よろしくお願いします。

  • 北海道は住所に書きますか?

     こんばんは。北海道の方には大変失礼な質問で申しわけありませんが、以前札幌市に住んでいた知人に手紙を出すときに、北海道はいらないと言われたので、北海道札幌市・・・と住所を書かずに札幌市と書いて、郵便番号も書いて手紙を出しました。  北海道以外は都府県の名称があり住所として書きますが、北海道はどうなのでしょうか。ちなみに私は神奈川県民です。  北海道の方で気に障りましたら失礼します。素朴な疑問なので書きました。  合わせて北海道は日高支庁とかの支庁という行政区分だと思いますが、これは住所ではないですね。どうも良く分かりませんが、宜しくお願いします。

  • 住所の分割方法

    顧客データで、住所フィールドが1,2,3とあり、本来であれば、 1・・・都道府県 2・・・市区町村から番地 3・・・マンション、アパート名 としなければいけないのですが、郵便番号辞典から入力したため、住所2のフィールドに1と2がくっついて入力されています。 これを都道府県で切って、都道府県名を住所1のフィールドに、市区町村から番地までを住所2のフィールドに分割したいのですが、関数もしくはマクロがあれば教えてください。 住所1には、「東京都」などの「都」に相当する都道府県名まで入れたいのですが。 (データが5000件くらいあります)

  • Accessで住所分割 並び順で問題?

    Accessで住所を4項目(都道府県・市区町村・町域・その他)に 分割しようとしていますが、市区町村の分割がうまくいきません。 並び順に問題がある気がしているのですが ご教授いただけると助かります。 ■マスタ登録状況■■■■■■■■■■■■■■■■■■■ ※日本郵政HPから郵便番号一覧をダウンロードし以下を用意 ○都道府県一覧 都道府県 --------- 東京都 神奈川県 ○市区町村一覧 ※市区町村が(以下にない場合)などのデータは削除済 都道府県 市区町村 ----------------------- 神奈川県 横浜市金沢区 神奈川県 横浜市 ○市区町村一覧 ※町域が(以下にない場合)などのデータは削除済 都道府県 市区町村   町域 ---------------------------------------- 神奈川県 横浜市金沢区 福浦 神奈川県 横浜市金沢区 平潟町 神奈川県 横浜市    中区新山下 ■処理フロー■■■■■■■■■■■■■■■■■■■ 【実行前】住所一覧 ワーク          都道府県 市区町村 町域 ---------------------------------------------------- 神奈川県横浜市金沢区福浦*-*-* (1)都道府県分割クエリ実行 ・都道府県をセット ・ワークから都道府県を削除 【クエリ(1)後】住所一覧 ワーク          都道府県 市区町村 町域 ---------------------------------------------------- 横浜市金沢区福浦*-*-*   神奈川県 (2)市区町村分割クエリ実行 ・市区町村をセット ・ワークから市区町村を削除 【クエリ(2)後】住所一覧 ワーク          都道府県 市区町村 町域 ---------------------------------------------------- 福浦*-*-*         神奈川県 横浜市金沢区 (3)町域分割クエリ実行 ・町域をセット ・ワークから町域を削除 【クエリ(3)後】住所一覧 ワーク          都道府県 市区町村 町域 ---------------------------------------------------- *-*-*         神奈川県 横浜市金沢区 福浦 !!!!!クエリ(2)市区町村分割で困っています!!!!! ■クエリ実行結果■■■■■■■■■■■■■■■■■■■ 欲しい結果↓ ワーク          都道府県 市区町村 町域 ---------------------------------------------------- 福浦*-*-*         神奈川県 横浜市金沢区 現状↓ ワーク          都道府県 市区町村 町域 ---------------------------------------------------- 金沢区福浦*-*-*         神奈川県 横浜市 ■クエリSQL■■■■■■■■■■■■■■■■■■■ クエリ(2)市区町村分割(1) ※市区町村をセット UPDATE 住所一覧, 市区町村一覧 SET 住所一覧.市区町村 = 市区町村一覧.市区町村名 WHERE (((住所一覧.ワーク) Like 市区町村一覧.市区町村 & "*") AND ((住所一覧.都道府県)=市区町村一覧.都道府県名)); クエリ(2)市区町村分割(2) ※ワークから市区町村を削除 UPDATE 住所一覧 SET 住所一覧.ワーク = Replace(住所一覧.ワーク,住所一覧.市区町村,"") WHERE (((住所一覧.市区町村) Is Not Null)); 市区町村一覧の並び順を降順にしたり、 間に選択クエリをはさんでLen(市区町村)で降順にしたり、 「横浜市金沢区」が「横浜市」より先に来るようにしていますが うまくいきません。 長文ですがどうぞよろしくお願い致します。

  • 【緊急!】エクセルデータの加工について

    エクセルファイルで、住所録があります。 A列には「都道府県名」(東京都)、B列には「都道府県名より後の住所」(渋谷区笹塚●-●-●)といったように、セルを分けて記入されています。 一つのセル内に、都道府県名からの住所としてひとつにまとめたい(東京都渋谷区笹塚●-●-●)のですが、簡単に貼り付け(?)る方法はありますでしょうか? …2,000件近くあるので、ひとつひとつ、コピー&ペーストでは、ちょっと無理があるかと思うのですが。 どうぞご教示のほど、よろしくお願いいたします。

  • セルに入っている住所に都道府県名を加えたい

    あるセル(x)に住所が入っています。 その住所は都道府県から入っている場合もあるし、都道府県抜きの場合もあります。 都道府県の抜きの場合に、都道府県を入れて住所を編集し、別のセル(Y)にセットしたいです。 「港区、、、」であれば「東京都港区、、、」 「横須賀市、、、」であれば「神奈川県横須賀市、、、」 そんな感じです。 特定地域ですので、市町村名は限られています。 どんな風にエクセルを作成すれば良いでしょうか?

  • 日本語住所を英語表示にしたいのですが…。

    どなたかお教えください。 下記住所の英語表示を教えていただけますか? ※住所は架空です。 北海道札幌市北区○○10条10丁目10-10 よろしくお願いします。

  • EXCELで郵便番号を入力すると住所を表示するようにしたい

    IMEの機能のみを使った住所入力を作ってみました。   A    B               C      D    E 1 郵便番号 郵便番号入力          補助住所入力 都道府県 市町村 2 047-0028 北海道小樽市相生町       4-4-4  北海道  小樽市相生町 3 334-0001 埼玉県鳩ヶ谷市桜町       1-2    埼玉県  鳩ヶ谷市桜町    :          : 9 602-0001 京都府京都市上京区竹園町    大マンション 京都府  京都市上京区竹園町 上のように   A列 郵便番号表示(算式)   B列 郵便番号入力   C列 補助住所入力   D列 都道府県表示(算式)   E列 市町村表示 (算式) としてみます。B列に郵便番号を入力、C列には補助住所を入力します。 郵便番号は、IMEをONの状態(日本語入力オン)で全角で『047-0028』のように入力して変換します。 A2には 式 =IF(NOT(ISERROR(PHONETIC(B2))),ASC(PHONETIC(B2)),"") をセット。 D2には 式 =LEFT(B2,MAX(MIN(FIND({"都","道","府","県"},B2&"都道府県")),3)) をセット。 E2には 式 =MID(B2,MAX(MIN(FIND({"都","道","府","県"},B2&"都道府県")),3)+1,1000) をセット。 *************** 以前の回答から上の方法で試してみたのですが、 この関数で郵便番号‐(ハイフン)なし、 市町村の後に番地まで同じセルで表示させる事は可能ですか。 できなかったら、他にうまくいく方法はありませんか? 詳しくないので、分かりやすく解説していただくと助かります。

専門家に質問してみよう