[[20060203103757]] 『文字検索』(良子) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『文字検索』(良子)

 VLOOKUP関数にて名前を検索したいのですが

例えば、『江久瀬瑠君』という名前を検索しようとしたけど

検索値のセルに『絵久瀬瑠君』と入れてしまったとします。

本来であれば『江』と『絵』が違うのでヒットしませんが

『久瀬瑠君』が合致するので、『江久瀬瑠君』にたどり着く方法はありますか。

 質問の方法が下手で分かりづらいかもしれませんが、要するに『完全に合致しなくても、検索が出来る方法』を知りたいのです。

 どなたか宜しくお願いします。


 こんな感じでしょうか?
 =VLOOKUP("*久瀬瑠君",$A$1:$C$10,3,FALSE)
とすれば、『久瀬瑠君』や『江久瀬瑠君』や『絵久瀬瑠君』や『亜久瀬瑠君』や『絵亜久瀬瑠君』等、『久瀬瑠君』で終わるものが、
 =VLOOKUP("?久瀬瑠君",$A$1:$C$10,3,FALSE)
とすれば、『江久瀬瑠君』や『絵久瀬瑠君』や『亜久瀬瑠君』等、『久瀬瑠君』で終わり、その頭に1文字付くものを検索できるはずです。
 また、【書式】でふりがなの設定がされていれば、設定されているふりがなで検索する事も出来ると思います。
但し、ひらがな・全角カタカナ・半角カタカナの設定が揃っていないとダメですが・・・
(sin)


 UDFです。

 1) Excel画面より ALT+F11 でVBEを起動
 2) 「挿入」->「標準モジュール」でコードを貼り付ける
 3) xをクリックしてExcel画面に戻る

 セルに

 =VLookLike(検索文字またはセル参照,範囲,列)
 例: =VLookLike(A1,C1:F100,2)

 振り仮名が同じであれば結果を表示

 Function VLookLike(x As String, rng As Range, ref)
 Dim r As Range, y As String
 x = Application.GetPhonetic(x)
 For Each r In Range(rng.Columns(1).Address)
     y = Application.GetPhonetic(r)
     If x = y Then
         VLookLike = r.Offset(, ref - 1)
         Exit Function
     End If
 Next
 End Function

 (seiya)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.