• 締切済み

エクセルで住所録を作成中です。

エクセルで住所録を作成中です。 B列に住所が入力されている場合に、その列に記載されている住所が”港区”ならC列に”甲”と表示し、”中野区”なら”乙”と表示するというふうに、住所の中に特定の文字列を含んでいれば、それに対応した特定の文字列を表示する方法を教えて下さい。 例)  A      B        C 鈴木一郎 東京都港区・・・   甲 田中太郎 東京都中野区・・・  乙 山田花子 東京都千代田区・・・ 丙

みんなの回答

  • akina_line
  • ベストアンサー率34% (1124/3287)
回答No.3

こんにちは、#1です。  >B列には、区以外にも、市や町の名前も入力されることを想定しているのですが、その場合、教えていただいた「MID(A2,4,FIND("区",A2))」の「区」部分に「市」「町」「村」を検索キーワードとして追加する必要があると思いますが、それらも平行して検索することは 可能でしょうか。  「平行して」というわけには行かないので、"区"の文字が見つからなかったら、"市"の文字で検索し、"市"の文字が見つからなかったら、"町"の文字で検索し、、、という風にif関数で判定したらどうでしょう。ただし、これらの区切り文字を含む市区町村名は正しく区切れない場合があります。  例)町田市の場合    "区"、"市"、"町"、"村"の順に調べるので、"市"でヒットするから、"町"にはヒットせず、うまくいきます。  例)(東京とではありませんが、)市川市の場合    "市"が先頭にあるので、思ったと売りには市名を切りだせない。 では。

  • hiro-ss16
  • ベストアンサー率42% (18/42)
回答No.2

住所が東京都だけと仮定して具体例で説明しますね。 空いているセル、この場合F1~G3にこのような表をあらかじめ作って おき表の名前を例えば"表"と定義します。 そして D1 に次の式を入れると区名が表示されると思います =MID(A2,4,FIND("区",A2)) これを下にコピー 次に C1 に下の式を入れて下にコピー  =VLOOKUP(D2,表,2,0) これで甲乙丙と表示されると思います。  A      B            C   D  E  F   G 鈴木一郎 東京都港区・・・   甲  港区   港区   甲 田中太郎 東京都中野区・・・  乙 中野区  中野区  乙 山田花子 東京都千代田区・・・丙 千代田区 千代田区 丙 住所が東京都以外の場合は D1 の式を参考にして作成ください。 これでやってみてください。

ngo879
質問者

補足

ご回答いただき、本当に感謝します。 最初の質問の繰り返しになってしまっているかもしれませんが、 追加で質問させて下さい。 (前提として東京都内に限定して作成しています。) B列には、区以外にも、市や町の名前も入力されることを想定している のですが、その場合、教えていただいた「MID(A2,4,FIND("区",A2))」 の「区」部分に「市」「町」「村」を検索キーワードとして追加 する必要があると思いますが、それらも平行して検索することは 可能でしょうか。 また、できるとすれば式はどのようになるのでしょうか。

  • akina_line
  • ベストアンサー率34% (1124/3287)
回答No.1

こんにちは。  上記の例のように、「東京都」の「区」だけならなんとか区の名前を切り出して、区と特定文字列の一覧表からVLOOKUP関数で特定文字列を検索できます。  ただ、全国の市区町村だと難しいですね。  まず、ターゲットの文字列(上記の例では、区の名前)を切り出すことを考えてください。 では。