3 返信 最新の回答 日時: Aug 20, 2015 5:49 AM ユーザー:tohru_hibino

    住所から都道府県のみを抜き出す

    tohru_hibino

      タイトル

      住所から都道府県のみを抜き出す

      フォーラムに投稿

       

      1つのフィールドに保存された住所から、都道府県のみを抜き出して2つのフィールドに分割する方法を教えてください。

      例:

                                                                                                                                                        
      大阪府堺市美原区さつき野東 1-1-1
      高知県南国市中谷 1-1-1
      北海道網走郡美幌町大通南 1-1-1

       

        • 1. Re: 住所から都道府県のみを抜き出す
          sago350@未来Switch

          いろいろ方法はあると思うんですが、
          都道府県のリストを用意して、順番に存在するか判定する
          存在すれば、最初の都道府県が含まれる文字列以降を別のフィールドに設定する
          都道府県のフィールドには判定に使った都道府県を設定する。

          都道府県はそうそう変わるものでもないので、もう少し省略したやり方もあるかなと思います。

          サンプルファイル

          • 2. Re: 住所から都道府県のみを抜き出す
            user29621

            aristo1122  様

            平素は弊社製品をご愛顧いただき、誠にありがとうございます。

            sago350@未来Switch 様からご回答いただいておりますが、

            計算式を使った場合の方法になります。

            都道府県の文字数によって左から何文字目がイコールだったらという計算式を作るのですが、

            47個を1から作るのは大変なのでExcelにて計算式を作ってしまいます。

            まず、47都道府県のデータをExcelに準備します。

            B列は都道府県の文字数を数えるので計算式を =LEN(A1) とします。

            C列はCase関数の中身の計算式を生成したいので ="Left ( D ; "&B1&" )="""&A1&""" ; """&A1&""";" とします。

            この計算を「沖縄県」の47行目までコピーして計算式を生成後、C1からC47までをコピーします。

            FileMaker側で都道府県という計算フィールドを作り、

            Let (

            D = [住所が入っているフィールド名] ;

            Case (

            [C1からC47]をペースト

            ""

            ) //case

            )//let

            このような計算式を作り保存するという方法になります。

            ファイルメーカー株式会社

            法人営業部

            • 3. Re: 住所から都道府県のみを抜き出す
              tohru_hibino

              備忘録 - コピペ用

               

              Let (

              D = 住所1 ; 


              Case (
              Left ( D ; 3 )="北海道" ; "北海道";
              Left ( D ; 3 )="青森県" ; "青森県";
              Left ( D ; 3 )="岩手県" ; "岩手県";
              Left ( D ; 3 )="宮城県" ; "宮城県";
              Left ( D ; 3 )="秋田県" ; "秋田県";
              Left ( D ; 3 )="山形県" ; "山形県";
              Left ( D ; 3 )="福島県" ; "福島県";
              Left ( D ; 3 )="茨城県" ; "茨城県";
              Left ( D ; 3 )="栃木県" ; "栃木県";
              Left ( D ; 3 )="群馬県" ; "群馬県";
              Left ( D ; 3 )="埼玉県" ; "埼玉県";
              Left ( D ; 3 )="千葉県" ; "千葉県";
              Left ( D ; 3 )="東京都" ; "東京都";
              Left ( D ; 4 )="神奈川県" ; "神奈川県";
              Left ( D ; 3 )="新潟県" ; "新潟県";
              Left ( D ; 3 )="富山県" ; "富山県";
              Left ( D ; 3 )="石川県" ; "石川県";
              Left ( D ; 3 )="福井県" ; "福井県";
              Left ( D ; 3 )="山梨県" ; "山梨県";
              Left ( D ; 3 )="長野県" ; "長野県";
              Left ( D ; 3 )="岐阜県" ; "岐阜県";
              Left ( D ; 3 )="静岡県" ; "静岡県";
              Left ( D ; 3 )="愛知県" ; "愛知県";
              Left ( D ; 3 )="三重県" ; "三重県";
              Left ( D ; 3 )="滋賀県" ; "滋賀県";
              Left ( D ; 3 )="京都府" ; "京都府";
              Left ( D ; 3 )="大阪府" ; "大阪府";
              Left ( D ; 3 )="兵庫県" ; "兵庫県";
              Left ( D ; 3 )="奈良県" ; "奈良県";
              Left ( D ; 4 )="和歌山県" ; "和歌山県";
              Left ( D ; 3 )="鳥取県" ; "鳥取県";
              Left ( D ; 3 )="島根県" ; "島根県";
              Left ( D ; 3 )="岡山県" ; "岡山県";
              Left ( D ; 3 )="広島県" ; "広島県";
              Left ( D ; 3 )="山口県" ; "山口県";
              Left ( D ; 3 )="徳島県" ; "徳島県";
              Left ( D ; 3 )="香川県" ; "香川県";
              Left ( D ; 3 )="愛媛県" ; "愛媛県";
              Left ( D ; 3 )="高知県" ; "高知県";
              Left ( D ; 3 )="福岡県" ; "福岡県";
              Left ( D ; 3 )="佐賀県" ; "佐賀県";
              Left ( D ; 3 )="長崎県" ; "長崎県";
              Left ( D ; 3 )="熊本県" ; "熊本県";
              Left ( D ; 3 )="大分県" ; "大分県";
              Left ( D ; 3 )="宮崎県" ; "宮崎県";
              Left ( D ; 4 )="鹿児島県" ; "鹿児島県";
              Left ( D ; 3 )="沖縄県" ; "沖縄県" ;
              ""
              )
              )