| 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  「StiLL」Excel情報209 関数--住所を地名と番地に分けて表示A | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  ■前回に引き続き、住所を地名と番地に分ける方法をご紹介します。今回は前回の方法を応用して、1つの数式内に全ての検索値を入れて、数字の位置の値を抽出する方法です。 | 
  ☆検索値の数字を全て { }
  で囲み、FIND関数に検索文字列として入れ、MIN関数で囲んで数字の位置を抽出します。その値からLEFT関数で地名を、SUBSTITUTE関数で番地をそれぞれ出します。 | 
  ※ご注意下さい。半角数字と全角数字が混在している場合は、番地を半角数字か全角数字のどちらかに統一する必要があります。 | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  ■住所一覧を地名と番地に分ける | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
  
  
   | 
   | 
 
 
   | 
  前回は、住所の中の数字が始まる位置の | 
   | 
 
 
   | 
  値を、11個の数式を使用して求めました。 | 
   | 
 
 
   | 
  (右図参照) | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  その方法を応用して、今回は「配列」という | 
   | 
 
 
   | 
  方法を使い、1つの数式で「数字の位置」 | 
   | 
 
 
   | 
  を求めて、住所一覧を「地名」と「番地」に | 
   | 
 
 
   | 
  分ける方法をご紹介します。 | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  ※ | 
  前回のメールサービスはこちらをご覧ください。 | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
  【バックナンバー208】 関数--住所を地名と番地に分けて表示@ | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  番地は半角数字で表示されているとします。 | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  (例) | 
  住所一覧 | 
    | 
    | 
  地名 | 
    | 
  番地 | 
    | 
   | 
   | 
   | 
 
 
   | 
   | 
  渋谷区恵比寿西2-2-8 | 
  渋谷区恵比寿西 | 
  2-2-8 | 
    | 
   | 
   | 
   | 
 
 
   | 
   | 
  大田区蒲田33-14-x | 
    | 
  大田区蒲田 | 
  33-14-x | 
    | 
   | 
   | 
   | 
 
 
   | 
   | 
  板橋区常盤台12-27-x | 
  板橋区常盤台 | 
  12-27-x | 
    | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  ■「配列」を使用して、複数の検索値を1つのFIND関数に設定。 | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  前回と同じく、FIND関数とMIN関数を使用して、数字の位置を求めます。 | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  @FIND関数の検索値に「配列」を使う | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   「番地」は数字で始まるので、数字(1,2,3,4,5,6,7,8,9,0)を全て検索値とします。 | 
   | 
   | 
   | 
 
 
   | 
   前回はそのために、数字ごとにFIND関数の式を作りましたが、そうすると関数が多くなってしまいます。 | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   そこで今回ご紹介する新しい方法です。 | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   FIND関数の検索値として { } (大かっこ) の中に、1〜0
  の数字をカンマ区切りで設定します。 | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  数式: | 
  =FIND({1,2,3,4,5,6,7,8,9,0},B5) | 
   ※「B5」は、住所「渋谷区恵比寿西2-2-8」 | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   が入っているセルです。 | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  結果: | 
  #VALUE! | 
  ← | 
  しかし、結果はエラー値となってしまいます。 | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
  この場合のエラーは、検索値の初めの「1」が、検索対象の中にみつからない場合に出ます。 | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
    このように、複数の値やセル範囲をカンマ区切りにして
  { } (大かっこ) の中に入れ、 | 
   | 
   | 
 
 
   | 
    1つの式の中で取り扱えるようにする方法を「配列」と言います。 | 
    | 
    | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  A検索対象(住所) に "1234567890"
  の「ダミー数字」を「&」でつなげる | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   エラー値を出さないために、検索値と同じ1〜0の数字(ダミー数字)を、検索対象につなげます。 | 
   | 
   | 
 
 
   | 
   すると、検索対象は→「渋谷区恵比寿西2-2-81234567890」となり、 | 
   | 
   | 
   | 
   | 
 
 
   | 
   検索値が全て見つかります。 | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  数式: | 
  =FIND({1,2,3,4,5,6,7,8,9,0},B5&"1234567890") | 
    | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  結果: | 
  13 | 
  ← | 
  エラー値を出さないように設定できました。 | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
  しかし、この結果は、検索値「1」の位置になります。 | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  BMIN関数で囲み、正しい結果を抽出 | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
    FIND関数だけの式の場合、それぞれの検索結果を表示できず、 | 
   | 
   | 
   | 
   | 
 
 
   | 
    最初の検索値「1」の位置の値だけが抽出されてしまいます。 | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   
  
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
  ←求めたい数字の位置の値は「8」です。 | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   
  
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  結果:× | 
  13 | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
    そのため、MIN関数でFIND関数を囲み、FIND関数の結果の最小値を抽出します。 | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  数式: | 
  =MIN(FIND({1,2,3,4,5,6,7,8,9,0},B5&"1234567890")) | 
    | 
    | 
    | 
    | 
    | 
    | 
    | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   
  
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  結果:○ | 
  8 | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  数字の値を求める数式が完成しました。 | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  ■値を元に、LEFT/SUBSTITUTE関数を使って、地名と番地を表示 | 
  
  
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  地名をLEFT関数、番地をSUBSTITUTE関数 を使用して求めます。 | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  LEFT関数:  | 
  番地より左の文字(地名)を出すために使用します。 | 
   | 
   | 
   | 
   | 
 
 
   | 
  SUBSTITUTE関数:  | 
  住所から、LEFT関数を利用して出した「地名」の部分を消して、 | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
  番地を出すために使用します。 | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  数式は以下のように設定します。 | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  地名を求める数式: | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  数式: | 
  =LEFT(B5,F5-1) | 
    | 
    | 
    | 
    | 
  ※1 | 
   | 
   | 
 
 
   | 
   | 
  または | 
    | 
    | 
    | 
    | 
    | 
    | 
   | 
   | 
   | 
 
 
   | 
  数式: | 
  =LEFT(B5,MIN(FIND({1,2,3,4,5,6,7,8,9,0},B5&"1234567890"))-1) | 
    | 
  ※2 | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  結果: | 
  渋谷区恵比寿西 | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
  ・地名を求める式について | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
  ※1の式は、別のセルにFIND関数の結果を出して、その値を参照した方法です。 | 
   | 
   | 
 
 
   | 
   | 
  ※2の式は、別のセルを使わずに、直接FIND関数を入れた方法です。 | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  番地を求める数式: | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  数式: | 
  =SUBSTITUTE(B5,G5,"") | 
    | 
    | 
    | 
  ※3 | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  結果: | 
  2-2-8 | 
    | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  ※「サンプル」シートに上記の関数を設定してあります。ご参照下さい。 | 
   | 
   | 
   | 
   | 
 
 
   | 
   (※1、※2、※3 の各番号がついています) | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  住所一覧を地名と番地に分ける事ができました。 | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  ■【補足】番地に全角数字が混じっている場合 | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  番地に半角数字と全角数字が両方ある場合は、以下の例のように、番地を正しく分ける事ができません。 | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  このような場合は、検索対象(住所)を、ASC関数で囲み、住所内の数字を全て「半角数字」として、 | 
   | 
 
 
   | 
  数字の位置を出します。 | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
  ※ASC関数とは、全角の英数カナ文字を、半角文字に変換する関数です。 | 
    | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   ・ASC関数を使用しない場合 | 
   | 
  結果 | 
  
  
   | 
  地名 | 
   | 
  番地 | 
   | 
   | 
 
 
   | 
   | 
  渋谷区恵比寿西2-2-8 | 
    | 
    | 
  10 | 
  渋谷区恵比寿西2- | 
  2-8 | 
  × | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   ・ASC関数を使用した場合 | 
   | 
  結果 | 
   | 
  地名 | 
   | 
  番地 | 
   | 
   | 
 
 
   | 
   
  
   | 
  渋谷区恵比寿西2-2-8 | 
    | 
    | 
  8 | 
   | 
  渋谷区恵比寿西 | 
  2-2-8 | 
  ○ | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
  →(C148) は住所のセルです。 | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  全角数字が混じった住所でも、地名と番地を分けることができました。 | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
  注: | 
  番地は、元の住所と同じ、半角数字と全角数字が混じった状態になります。 | 
   | 
   | 
   | 
 
 
   | 
   | 
  数字を半角に統一させたい場合は、番地を求める数式を「ASC関数」で囲みます。 | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
  ※「サンプル」シートに番地の表示を半角にする数式を設定してあります。ご参照下さい。 | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
  Copyright(C) アイエルアイ総合研究所 無断転載を禁じます | 
   | 
   | 
 
 
 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   | 
   |