• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:クエリ-でリンクをした時)

クエリ-でリンクをした時、Aデ-タとBデ-タの品名でリンクしたときAデ-タに表示

このQ&Aのポイント
  • クエリ-でリンクをした時、Aデ-タとBデ-タの品名でリンクしたとき、Aデ-タに表示される送付先の条件命令について問い合わせます。
  • また、エクセルのLOOKUP関数で曖昧検索を行う際に、VLOOKUP関数の第3引数にどのように記入すれば良いかを教えてください。
  • 具体的には、クエリ結果において品名が一部異なる場合、送付先が空白になるような条件命令を求めています。

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

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.4

とりあえず、作ってみました。 Function func_1(s) Dim regex As Object Set regex = CreateObject("VBScript.RegExp") regex.Pattern = "[^a-zA-Za-zA-Z0-90-9ぁ-んァ-ヶ一-龠]" regex.Global = True regex.IgnoreCase = True t = regex.Replace(s, "") func_1 = StrConv(StrConv(StrConv(t, vbUpperCase), vbWide), vbHiragana) End Function この関数に文字列を渡すとすべて全角にし、カタカナ(半角、全角とも)を全角ひらがなに変換します。 また、アルファベット、数字、仮名、漢字以外の文字は削除します。 この関数を使って変換したデータ同士で比較すればかなりの曖昧比較になると思います。

ryo0511
質問者

お礼

忙しいところ、有難う御座います、明日職場で早速試したいと思います

ryo0511
質問者

補足

すいません 素人で デ-タ変換初めて 使用するのですが  テ-ブル作成してそのクエリのSQLのデ-タ定義にコピしたら良いのですか?

その他の回答 (3)

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.3

「DBは エクセルと CSVを リレ-ション して」をするソフトが何なのかで違って来ます。 回答しましたがACCESSを使うならかなり簡単だと思います。 もし、EXCELだけでやろうとするなら、それなりに手間ひまかかりますし、実行時の負荷がかかります。

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

「いろいろな一字違いが 空白とか小文字とか数千のデ-タ」 「みなす文字」が多い時は変換テーブルを用いる方法もあります。 ACCEESSならもともと、英字は大文字・小文字、1バイト文字と2バイト文字を同一にみなします。 かたかなとひらがなも清音であれば同様です。 ("あ" = "ア" が trueになります) 後、残るとすれば、濁音・半濁音、空白削除、長音記号とハイフン、句読点やカンマ・ピリオドの無視といったところではないでしょうか。 もっとも使用しているDBがACCESSでなければ話ガかなり変わってきますが。

ryo0511
質問者

補足

DBは エクセルと CSVを リレ-ション して必要な分だけ CSVに取り込もうと しています。可能ですか?

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

「オリ-ブ」と「オリ一ブ」 ・長音記号と2バイトのハイフンは同じとみなす(どちらかに変換して比較する) 「りんご」と「りん ご」 ・文字列中の空白を削除して比較する ぐらいの規則性だったら、ユーザー定義関数かreplace関数を多段階に使うことで解決できます。 replace(replace(replace(項目," ","")," ",""),"-","一")

ryo0511
質問者

補足

早速有難う御座います。言葉たらずなので補足します。 二つ位なら 置換によってデ-タを変換するのですが、いろいろな一字違いが 空白とか小文字とか数千のデ-タがありますので、困っていますので、大まかにデ-タが 有っていれば 選択クエリで 結合デ-タを作成したいのです。宜しくご指導ねがいます

関連するQ&A