- ベストアンサー
excel 文字列の検索&表示
都道府県名から番地まで書かれた全国津々浦々の住所リストがあり、その中で特定の市名が含まれる住所が書かれているセルの隣に、その市名を表示させたいと思っています。 具体的には、仙台市、大阪市、日野市・・・などの30市名ほどを特定した市名リストがあり、住所リストの中に「仙台市」が含まれていれば、セルの隣に「仙台市」と表示させたいのです。 何か良い方法はありますでしょうか?? よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 関数で「○○市」を表示というのは難しいような感じがします。 (リスト内に「あり」「なし」の判定は関数でも可能です) そこでVBAになってしまいますが、一例です。 Sheet1が操作するSheetとします。 ↓の画像のようにSheet2のA1セルから「市名リスト」を作っておきます。 画面左下のSheet1のSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i, k As Long Dim ws As Worksheet Set ws = Worksheets("Sheet2") Application.ScreenUpdating = False i = Cells(Rows.Count, 1).End(xlUp).Row Range(Cells(2, 2), Cells(i, 2)).ClearContents For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row For k = 1 To ws.Cells(Rows.Count, 1).End(xlUp).Row If Cells(i, 1) Like "*" & ws.Cells(k, 1) & "*" Then Cells(i, 2) = ws.Cells(k, 1) End If Next k Next i Application.ScreenUpdating = True End Sub 'この行まで ※ 注意しなければならないのは、 「広島県東広島市○○町」のような地名があり、リストに「広島市」があった場合は 「東広島市」のB列にも「広島市」が表示されてしまいます。 他にも「大阪市」「東大阪市」等々全国には同様の住所がたくさんあると思います。 参考になりますかね?m(_ _)m
お礼
ありがとうございます! やはり関数では難しいのですね。。。 マクロはあまり使ったことがないのですが、教えていただいた通りコピペでやってみたらちゃんと出来ました。感動!! これを応用して今後使えるよう勉強してみます。ありがとうございましたm(_ _)m
お礼
ありがとうございます、関数でもできるんですね! 私はマクロに不慣れなので、大変助かりました。 どちらの方法でも出来たので、お二人ともベストアンサーにさせていただきたい気持ちは山々なのですが・・・すみません、普段私が使用している関数での解決法を教えてくださったMackyNo1さんをベストアンサーとさせてください。 tom04さん、MackyNo1さん、ありがとうございましたm(_ _)m