Excel。VLOOKUP関数で抽出した文字からフリガナを表示するには
<VLOOKUP関数・PHONETIC+XLOOKUP関数>
氏名からフリガナを抽出するには、PHONETIC関数をつかうわけですが、VLOOKUP関数で抽出した文字列からフリガナを抽出することはできません。
次の表を用意しました。
A4:C8に表があります。
B2には、VLOOKUP関数をつかって、A4:C8の表から、氏名を抽出しています。
B2の数式は、
=VLOOKUP(A2,A5:C8,2,FALSE)
と設定しています。
さて、C2にB2の文字列のフリガナを表示したいので、
C2に、PHONETIC関数だけの数式を設定してみます。
=PHONETIC(B2)
結果は、何も表示されません。
PHONETIC関数は、文字列の入力時のデータを表示するだけの関数なので、VLOOKUP関数で表引きした結果からは、表示することはできないというわけです。
では、PHONETIC関数の引数にVLOOKUP関数を直接設定すればいいように思えます。
C2の数式を
=PHONETIC(VLOOKUP(A2,A5:C8,2,FALSE))
にしてみると、エラーが表示されてます。
残念ながら、PHONETIC関数とVLOOKUP関数のネストはできないようです。
そこで、以前ならば、INDEX関数とMATCH関数を組み合わせて対応したりしましたが、XLOOKUP関数をつかえば、解決します。
PHONETIC関数は、VLOOKUP関数とのネストはできないのですが、XLOOKUP関数とのネストはできるようになっています。
C2の数式をPHONETIC関数は、XLOOKUP関数とのネストで数式を設定してみます。
=PHONETIC(XLOOKUP(A2,A5:A8,B5:B8,"",0,1))
これで、C2にフリガナを表示することができました。
XLOOKUP関数の引数を確認しておきましょう。
最初の引数は、「検索値」。
VLOOKUP関数で表引きした結果が表示されている、A2を設定します。
2番目の引数は、「検索範囲」。
NOのA5:A8を設定します。
3番目の引数は、「戻り範囲」。
氏名のB5:B8を設定します。
4番目の引数は、「見つからなかった場合」。
見つからなかったら空白にしますので「””(ダブルコーテーション×2)」と設定します。
5番目の引数は、「一致モード」。
完全一致にしたいので、「0」と設定します。
最後の引数は、「検索モード」。
先頭から検索させますので「1」と設定します。
これで、VLOOKUP関数の表引き結果をつかったフリガナを表示することができました。