No.1
- 回答日時:
この回答への補足
>akubihime212さん
早速のご回答ありがとうございました。
教えていただきましたログを見てみましたが、残念なことに「市区町村」と「番地」の双方のデータを活かしたいのです。また、件数がかなり多いので。。。
半角でも空白が入っていれば。。。と悔やんでいるのですが。。。
No.2
- 回答日時:
残念ながら、完全に解決できる方法はないと思います。
一応、左から最初の数字の位置で切り出せば、らしい形が得られるとは思いますが、漢数字で番地を標記したデータが混在していた場合、お手上げです。
(全角の数字にも要注意ではありますが、こちらは漢数字とは違い、対応は可能です)
まあ、それでも上手く工夫すれば手作業でデータを整理するよりは大幅に作業負担を軽減できるのは間違いないので、やってみる価値はあるかもしれません。(データの品質によりけりでしょうけれど)
# Access や Excel より、正規表現の使用できるエディタ等を使用した方がよいかもしれません。
# (VBAでもできるとは思いますが、ちょっと面倒そうな気がする・・・)
nanashinogombei さん
ありがとうございます。やはり完全には難しいですか。。。
地道に切り出しを繰り返して見たいと思います。
No.3
- 回答日時:
すべてのデータが「○○町1-2-3」であるなら、
たとえば、A列に
府中市新町5-44-35
や
西東京市田無町12-6-7
なら、B列に
=LEFT(A1,FIND("町",A1,1))
C列に
=MID(A1,FIND("町",A1,1)+1,10)
とすれば取り出せます。
「町」がつかない場合は、エラーになります(#VALUE!)
たとえば、 多摩市落合8-35-7
また、市に「町」がつく場合、たとえば、
町田市森野8-28-14 町 田市森野8-28-14
のようになってしまいます。
No.4
- 回答日時:
AccessもVBAもよく知らない者がこの質問に回答していいものかどうかわからないけど、とりあえず回答してみます。
参考になれば幸いです。私はデータベースソフトに「桐」を使っています。Accessなんかよりずっと敷居が低くて、Excelの代わりにも使えます。
それで、ご質問の問題解決はいとも簡単です。たぶん10分もかからないんじゃないかな。
「桐」を使った場合の考え方はこうです。
まず、住所文字列の中で番地はすべて半角文字から始まっていると仮定します。それと、番地までの市町村名他には半角文字が使われていないと仮定します。
それでいくと、住所の文字列の先頭から調べて、半角文字があれば、先頭から何バイト目にあるかを返します。
この数字を基に、先頭からこの数字の手前までなら「市町村名他」。この数字以降なら「番地」としてフィールドを分けることができます。
使うべき桐の関数は、#IS半角と#部分列だけですね。「桐」には文字列関数がたくさん揃っているので、ほとんど対話式で仕事を進められます。便利すぎて、いつまで経ってもAccessもVBAも覚えられないです。
たぶん、AccessやVBAでも可能なんだろうけど、ポイントは、半角文字を捜してその位置を返す関数ですね。
余計なお世話かもしれないけど、「桐」のURLを記します。90日以内ならタダで使えるようになっています。
参考URL:http://www.k3-soft.com/kiri9/index.html
whitepepper さん
ありがとうございました。「桐」をダウンロードして試用版を触ってみましたが、
慣れれば易そうですが、う~む、ちと時間がかかりそうです。
それでも、とてもよい参考になりました。もう少しがんばってみます。
No.6ベストアンサー
- 回答日時:
自前で文字列のマッチング等を行わなくても、Office (97以上?)にバンドルされている、「MSYubin7.dll」を使用すれば可能です。
サンプルコードですが、Accessで、以下の手順を踏み、
(1) レポートの新規作成ボタンを押下。
(2) はがきウィザードを選択。
(3) レポートを作成。
作成されたレポートのクラスモジュール内のAPI宣言部と「Sub DevideAddress」を見れば参考になると思います。
単に「左から最初の数字の位置で文字列を切り出す」(No.2のコメント参照)のではなく、都道府県名、市区町村名、町名、字名すべてを対応辞書と照合してマッチングできるようです。したがって、No.2のコメントで問題点として指摘した「漢数字で番地が記載されたデータ」にも対応できます。
問題点は、OfficeのヘルプにもMSDNにもドキュメントらしいドキュメントがないことです。
(上記ウィザードで生成されたコードにもコメントは皆無です)
もともと、参考URLの製品の機能の一部をMicrosoftにOEM提供したもので、Office製品の、いわば「おまけ」程度の位置付けですので、きちんとしたドキュメント、細かな機能が必要であれば、正規の製品版を購入した方がよいかもしれません。
(一度限りの単発仕事なら、そのためだけに買うのはちょっともったいない感じがしますが・・・)
参考URL:http://www.adv.co.jp/products/yu7v2/default.htm
nanashinogombei さん
ありがとうございました。お礼が遅れて申し訳ありませんでした。
Sub DevideAddress(stFullAdd As String, stAdd1 As String, stAdd2 As
。。。
End Sub
助かりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- その他(データベース) 20万行あるデータを動かしたい 2 2023/06/13 15:21
- その他(悩み相談・人生相談) ExcelやAccessで住所と番地を分けたい 2 2023/03/01 20:54
- Excel(エクセル) EXCELでの複雑な複数条件について 4 2022/05/09 16:19
- その他(Microsoft Office) EXCELの1行を1枚の用紙にそれぞれ印刷したい。 3 2022/10/10 11:35
- Excel(エクセル) エクセルのマクロを教えてください。 2 2022/03/28 13:14
- Excel(エクセル) VBAで重複データを合算したい(時間) 1 2022/12/08 23:06
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
アクセスで教えてください。 住所一覧から 都道府県 市区町村 以下住所の3パターンに分けたいですが、
Access(アクセス)
-
ExcelやAccessで住所と番地を分けたい
その他(悩み相談・人生相談)
-
Excelで住所を2つ(町名迄と番地以降)に分けるには?
Excel(エクセル)
-
-
4
住所録を市区町村、番地、建物名の3分割にする方法
Excel(エクセル)
-
5
エクセルにおいて、住所データからマンション名のみを取り出したいです。
Excel(エクセル)
-
6
SQL 全角半角混在の文字列から半角数字のみを抜き出す
Oracle
-
7
更新不可能なクエリに対して更新クエリを実行する方法
Access(アクセス)
-
8
【ACCESS/必須条件とOR条件を組み合わせる】
その他(Microsoft Office)
-
9
エクセル関数で住所から丁目番地、建物名を抽出したい
Excel(エクセル)
-
10
住所から市町村名を取り出す
その他(Microsoft Office)
-
11
住所から特定の文字列、数値を抽出する正規表現について
PHP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル
-
データベースファイル(.db)を開...
-
警察はスマホに保存した動画や...
-
縦書きテキストボックスの表示"...
-
ファイルが壊れて読み取れませ...
-
データベースソフトの「TCARD f...
-
android版のMs accessはありま...
-
DBのタイプの指定とサイズにつ...
-
リスト形式の表とデータベース...
-
c言語の問題です。これを踏まえ...
-
「1004:アプリケーション定義...
-
Notion@リレーション値の取得...
-
Accessのリンクテーブルについて
-
CDデータ 泣き寝入りするしか...
-
Accessを開きなおすとテキスト...
-
googleフォームでインストール...
-
コンピュータ用語、データベー...
-
旧filemakerで和暦(令和など)...
-
QSL でのフォーム画面作成について
-
QRコードとバーコードについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
市区町村と番地を分けたいので...
-
SQL 四分位を組み込む
-
1列おきに合計、a1 + c1 + e1 …
-
差し込み後、元データを変更し...
-
フィルターかけた後、重複を除...
-
エクセルで最後の文字だけ置き...
-
SELECT 文 GROUP での1件目を...
-
SQLで特定の項目の重複のみを排...
-
for whichの使い方
-
外部参照してるキーを主キーに...
-
SQLServerで文字列の末尾からあ...
-
重複していないレコードの抽出...
-
INSERT文でフィールドの1つだ...
-
SQL Date型の列から年月だけを...
-
SQL Left Join で重複を排除す...
-
EXISTSを使ったDELETE文
-
SQLで列名を変数にできないでし...
-
カーソル0件の時にエラーを発生...
-
Oracleのデータ型、NUMBERについて
-
access2003 クエリSQL文に...
おすすめ情報