ファイルメーカー5.5で全角文字と半角文字を分ける方法とは?

このQ&Aのポイント
  • ファイルメーカー5.5を使った住所録のデータ更新に困っています。市区町村の合併で町名などが変わり、手修正が追いつかなくなっています。住所のテキスト部分と数字部分を分けて管理する方法はありますか?
  • 「東京都豊島区東池袋1-2-3」という住所を「東京都豊島区東池袋」(住所1)と「1-2-3」(住所2)に分割し、一括データ書き換えを行いたいです。ファイルメーカー5.5でこのような分割を行うことは可能でしょうか?
  • 郵便番号リストを利用して住所データを更新しようと考えています。ファイルメーカー5.5で住所のテキスト部分と数字部分を分け、郵便番号リストを活用してデータ書き換えを行う方法があれば教えてください。
回答を見る
  • ベストアンサー

ファイルメーカー5.5 全角文字と半角文字を分けたい。

果たしてこんな事ができるのか・・・と戸惑いながらの質問ですが。 ファイルメーカー5.5を使った住所録があるのですが、このところ頻発している市区町村の合併で町名などがどんどん変わり小規模データベースでも手修正が対応しきれなくなってきました。 一番の問題となっている住所についてなんですが現在は「住所」フィールドに「東京都豊島区東池袋1-2-3」というようにデータが格納されています。 それを「住所1」フィールドに「東京都豊島区東池袋」「住所2」フィールドに「1-2-3」というように分ける事ができれば郵便番号を利用して一括データ書き換えができるかな?という考えの基質問してみました。 一つのフィールのの中のテキスト部分と数字部分を分割する事は可能ですか? アドバイスよろしくお願い致します。 郵便番号からの変更は郵便局でDLできる郵便番号リストを使おうと思っています。

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

  • ベストアンサー
  • aqula
  • ベストアンサー率60% (70/115)
回答No.3

LeftWords関数を使うと平仮名混じりの住所に対応しないかもしれません。 私の使っている方法を紹介します。 「丁目番地」が全角数字でも対応しています。 計算フィールドで 住所1= If(TextToNum(住所) = "",住所,Left(住所,Position(住所,Left(NumToText(TextToNum(住所)), 1),1,1) - 1)) 住所2= If(TextToNum(住所) = "","",Right(RomanHankaku(住所),Length(RomanHankaku(住所)) - Position(RomanHankaku(住所),Left(NumToText(TextToNum(RomanHankaku(住所))), 1),1,1) + 1))

choris
質問者

お礼

環境のせいなのかそれとも本当にアクセス過多だったのか全くこのサイトに繋がらずお礼が遅くなってしまいすみません。 早速教えて頂いた方法を試しましたところズバリ!!私の思っていた通りの結果が得られました。どうもありがとうございます。 できるだけ自分で処理できる事はがんばっておりますがどうしても・・・の時はまた力を貸してくださいませ。

その他の回答 (2)

noname#83007
noname#83007
回答No.2

ファイルメーカーの中でそれを実行するのは、非常に手間がかかると思います。 またLeftWords等の単語単位だと番地より前の部分で区切られる可能性があり問題があります。 私だったら、 1)全データに通番をふる。 2)「通番」と「住所」フィールドをテキスト形式で(TABでもCSVでも)エクスポートする。 3)AWKというツールを使って、「住所」フィールドを「住所1」「住所2」に分ける。 4)「通番」フィールドを使って、元のデータに「住所1」「住所2」をインポートする。 とします。 私はAWKというツールを使いますが、正規表現での置換ができるエディタなどがあればそれでも可能です。 例えば「K2Editor」ならば  検索文字「([^0-9]{2})([0-9])」  置換文字「\1\t\2」 で、TAB区切りで分けることができます。 少々解説すると、検索文字の部分は、(数字ではない文字が2個)(数字)、です。 置換部分は、最初の()でくくられた部分 タブ 2番目の()でくくられた部分、です。

choris
質問者

お礼

いただいたアドバイスを何度も何度も読み返してますが半分以上理解できませんです(汗 FMのスキルは初心者程度しかないのでなんとなく私が質問した事は一筋縄じゃいかなそうだな・・・位は分かりました。 最悪手修正を考え始めました。 どうもありがとうございました。

回答No.1

ファイルメーカー6ならば、フィールドの左から指定した単語数を返すLeftWordsという関数があるので、それを利用すれば実現できます。 ご質問の例でいくと、 「住所1」を計算フィールドにして LeftWords(「住所」, 1) とします。また、同様に 「住所2」を Right(「住所」,Length(住所)-Length(「住所1」)) とします。 私も以前はファイルメーカー5.5を使っていたのですが、現在は6を使用しているので、5.5にLeftWords関数があるかは覚えていません。 また、ほかにもっといい方法があるかもしれません。 がんばってください。

choris
質問者

お礼

ファイルメーカー5.5でもLeftWordsはありました!しかし、 せっかく教えて頂いた方法ですが私の操作が悪いのか思ったように働いてくれません。(T.T) いろいろと試行錯誤してますがなかなかうまくいかないですね。 データ的に5000件弱なので手修正のほうが早いかな???なんて・・・ もうちょっとがんばってみます。どうもありがとうございました。

関連するQ&A

  • 住所の分割方法

    顧客データで、住所フィールドが1,2,3とあり、本来であれば、 1・・・都道府県 2・・・市区町村から番地 3・・・マンション、アパート名 としなければいけないのですが、郵便番号辞典から入力したため、住所2のフィールドに1と2がくっついて入力されています。 これを都道府県で切って、都道府県名を住所1のフィールドに、市区町村から番地までを住所2のフィールドに分割したいのですが、関数もしくはマクロがあれば教えてください。 住所1には、「東京都」などの「都」に相当する都道府県名まで入れたいのですが。 (データが5000件くらいあります)

  • 東京都豊島区東池袋の住所 急いでます

    東京都豊島区東池袋の下記の住所がどこのか探しています。 個人宅の住所で無いことは確認済みです。 どこかお店か企業の住所だと思うのですが・・・。 電話番号と住所は分かっていたのでネットで調べてみたのですが、見つかりません。 電話をかけてみようとも思ったのですが、今携帯と家の電話が故障中で電話が出来ません。 なので、この質問は友人のパソコンを借りて投稿しています。 住所は「東京都豊島区東池袋4-14-12(もしくは4-14-2のどっちか)ワークスタジオ2F(もしくは12Fのどっちか)」です。 住所もうろ覚えで申し訳ありませんが、ご存知の方、教えてください。 カテゴリ違うかもしれませんが、よろしくお願いいたします。

  • エクセルでセルの一部の文字を取り出す

    ひとつのセルに、郵便番号と住所がはいてます。 例 〒333-3333 東京都江東区千代田3-3-3 住所の長さはデータごとに違います。 これで郵便番号を除いた住所部分のみ取り出すにはどうすればよいでしょうか。 よろしくお願いします。

  • ファイルメーカー5.5(Mac)のことで教えて欲しい事があります

    現在私の働いている部署にファイルメーカーで作った住所録があるのですが、ちょっと困った事がありまして・・・ その住所録は、郵便番号を入力すると住所フィールドに郵便番号に対応した住所が自動的に入るという作りになっております。(郵便番号変換検索という別の書類がありそれとリレーションして住所フィールドにルックアップしてる??) 宛名印刷をする際などは名前と郵便番号、住所を書き出ししてハガキ印刷用のソフトで印刷すると言う使い方をしておりました。 しかし、上司にこの住所録の変更を頼まれてしまったのです。その変更点は ハガキ印刷用のレイアウトと宛名印刷をする際に特定の都道府県名を排除するフィールド(宛名印刷用住所)を作って欲しいというのです。 レイアウトは何とか分かりそうな気がするのですが、特定の都道府県名を排除するフィールドの作成は全く想像が付かないのでこちらを重点的に教えてください。 例) 「1000001」と郵便番号フィールドに入力すると住所フィールドに「東京都千代田区千代田」と返ります。そして番地を入力。 「3000001」と入力すると「茨城県土浦市今泉」と返ります。 「4000001」だと「山梨県甲府市和田町」        ↓ 1000001 東京都千代田区千代田1-1-1 3000001 茨城県土浦市今泉1-1-1 4000001 山梨県甲府市和田町1-1-1 になります。この時に山梨県だけ県名を外したフィールドを作れと言うのです。 --------------宛名印刷用住所フィールド--------------- 1000001 東京都千代田区千代田1-1-1 3000001 茨城県土浦市今泉1-1-1 4000001 甲府市和田町1-1-1 私を含めファイルメーカーを使える人がうちの会社に居ないのです。(T.T) なにぶん素人なので専門的な用語などこれから覚えていく段階なものですので優しく教えて頂けると有り難いです。よろしくお願いいたしします。

  • Access 集計クエリにて。

    地域計: DCount("市区町村","テーブル名") 今上記の状態で止まっています。 下記のようなテーブルがあるとします。 都道府県 市区町村 東京都  新宿区 東京都  豊島区 東京都  葛飾区 東京都  新宿区 東京都  新宿区 東京都  葛飾区 東京都  豊島区 東京都  豊島区 東京都  豊島区 この中で新宿区は何件、豊島区は何件、葛飾区は何件、と出したいです。 しかし、都道府県市区町村は変動します。 毎回変わるのです。 なので特定の文字列を検索するというよりは その時にそのテーブルに貼った市区町村別に何件ずつ入ってるか、を求めたいです。 地域計をだしたいのです。 只今集計クエリで○○: Sum(IIf([フィールド名]="○○",1,0)) で○○の件数は何件かを出しているのですが この○○はどの地域でも変わらないため、指定できるのですが 地域は変わってしまう為指定できません。 ○○の隣に地域計を出したいのですが どうすればいいでしょうか。

  • Excel2010 住所5分割

    東京都豊島区東池袋3丁目1番1号 東京都八王子市子安町4丁目10番15号 神奈川県川崎市高津区明津12番地メゾン美鈴 とある住所を「都道府県」「市区町村郡」「通称名」「○丁目」「番地ビル」 のように分割したいです。  M列     N列      O列     P列      Q列    都道府県  市区町村郡    通称名    丁目      番地 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 「東京都」 「豊島区」   「東池袋」  「3丁目」  「1番1号」 「東京都」 「八王子市子安町」      「4丁目」  「10番15号」 「神奈川県」 「川崎市高津区」 「明津」      「12番地メゾン美鈴」 5万近く件数があり手作業では無理なので、関数かVBAで出来れば助かります。 都道府県とそれ以降の分割しかわかりません。 宜しくお願いします。

  • ACCESSで住所を分割したい。

    Accessにて住所入力されているフィールドを郵便番号変換される部分とそれ以降に分割したいのですが、お分かりになる方教えてください。 (例)〒143-0016 東京都大田区大森北×××-××× と入力されているデータを 東京都大田区大森北 と ×××-××× にすることは可能なのでしょうか。

  • 郵便番号を教えてください!!

    ●豊島区東池袋1丁目 の郵便番号を教えてください ●豊島区で深夜に電話しても繋がる郵便局 の連絡先を教えてください お願いします

  • 住所から郵便番号に変換したい

    IMEで住所から郵便番号を変換して調べたいのですが、町名まで打って変換しても「東京都」のところまでを文節と判断してうまく郵便番号に変換されません。 強制的に町名までドラッグ指定して変換するとすべてカタカナやひらかなの候補しか出てきません。 プロパティの郵便辞書変換にはチェックは入っているのですがやり方がまずいのでしょうか。

  • APIの質問です

    APIの質問です。 「東京都千代田区永田町1-7-1」という住所を、 「東京都」「千代田区」「永田町1-7-1」という風に 分割したいと思っています。 住所を投げたら、「都道府県」、「市区町村」が返ってくる APIをご存じの方がいれば教えてください。 (その際、郵便番号も返ってくるとありがたいです。) ※APIでなくとも、なにかしら方法があれば教えてください。