• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのfind関数で、複数の条件)

エクセルのfind関数で、複数の条件で住所を表示したい

このQ&Aのポイント
  • エクセルのfind関数を使用して、複数の条件で住所を表示したい場合、特定の文字列が含まれているかどうかを判定するためにif関数を使用することができます。
  • ただし、現在の関数の条件式では、一致する文字列がない場合には#VALUE!が表示されてしまうため、条件式の修正が必要です。
  • 具体的には、最後のif関数を使用する前に、一致する文字列がない場合の処理を追加する必要があります。たとえば、最後のif関数の直前で、条件式を追加して、「該当なし」と表示するように設定します。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.5

添付図参照 B2: =IF(ISERROR(VLOOKUP(LEFT(A2,3),D$1:E$48,2,FALSE)),VLOOKUP(LEFT(A2,4),D$1:E$48,2,FALSE),VLOOKUP(LEFT(A2,3),D$1:E$48,2,FALSE))

ps5550
質問者

お礼

回答ありがとうございます。 自分から関数で質問しておいてなんですが、この方法でいきたいと思います。 関数だとあとで修正するときにカッコの場所で頭がパニックになりそうですし、VBAで組むと使いまわしが不便ですし、VLOOKUPが一番手軽で、修正も簡単でよいと思います。 ありがとうございました。

その他の回答 (5)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.6

あまりIFIFせずに,こんな風に束ねることも出来ます。 =IF(ISNUMBER(FIND("北海道",A1)),"北海道",IF(OR(ISNUMBER(FIND({"青森県","秋田県","岩手県","宮城県","山形県","福島県"},A1))),"東北","")) 式の中に一組だけふつーと違うカッコが紛れているので,間違えないように注意して式を作成します。

ps5550
質問者

お礼

回答ありがとうございます。 { }の使い方は知らなかったです。勉強なります。ありがとうございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.2です! 前回の投稿は無視してください。 大きな勘違いをしていました。 もう一度画像をアップさせてもらいます。 B1セルに =IF(COUNTIF(A1,"北海道*"),"北海道",IF(COUNTIF($D$1:$D$6,LEFT(A1,3)),"東北","")) という数式を入れオートフィルで下へコピーしています。 何度もごめんなさいね。m(__)m

ps5550
質問者

お礼

重ね重ね、ありがとうございました。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 FIND関数と組合せて判定を行う場合には、ISERROR関数よりもISNUMBER関数の方が使い勝手が良いと思います。 =if(ISNUMBER(find("北海道",A1)),"北海道",if(ISNUMBER(find("青森県",A1)),"東北",if(ISNUMBER(find("岩手県",A1)),"東北",if(ISNUMBER(find("宮城県",A1)),"東北",if(ISNUMBER(find("秋田県",A1)),"東北",if(ISNUMBER(find("山形県",A1)),"東北",if(ISNUMBER(find("福島県",A1)),"東北","該当なし")))))))  但し、質問者様が使われているExcelのバージョンが、Excel2007よりも前のバージョンである場合には、関数の中に関数を組み込む事(ネストと言います)は、7重までしか出来ません。  ですから、もし、お使いのExcelがExcel2007よりも前のバージョンである場合には、別のやり方が必要になります。

ps5550
質問者

お礼

回答ありがとうございます。 ご指摘のとおり、バージョンは2002ですので、ネストは7回までです。 47都道府県をやりたいので、セルを7つに分けてやるつもりです。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! ご希望の方法とはかけ離れてしまいますが、他の方法の一例です。 住所は必ず都道府県から始まっているとします。 ↓の画像のように道県の表を作成しておきます。 (すべてを3文字としています) B1セルに =IF(COUNTIF($D$1:$D$7,LEFT(A1,3)),LEFT(A1,3),"") という数式を入れオートフィルで下へコピーすると画像のような感じになります。 参考にならなかったらごめんなさいね。m(__)m

ps5550
質問者

お礼

回答ありがとうございます。 参考になります。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

FIND("北海道",A1) で北海道が見つからない場合、結果は#VALUE!になります ですので A1が北海道以外であった場合 =IF(FIND("北海道",A1)>0,"北海道","以下略") の論理式の結果はFALSEではなくなります。 解決策として =IF(ISERROR(FIND("北海道",A1))=FALSE,"北海道",IF(ISERROR(FIND("青森県",A1))*ISERROR(FIND("岩手県",A1))*ISERROR(FIND("宮城県",A1))*ISERROR(FIND("秋田県",A1))*ISERROR(FIND("山形県",A1))*ISERROR(FIND("福島県",A1)),"該当なし","東北")) といった方法があります

ps5550
質問者

お礼

回答ありがとうございます。

関連するQ&A