質問: エクセルのvlookupで1つの検索値に複数の該当が有った場合の処理 お世話に成ります。 エクセル2010のvlookup関数で、例えばa列に日付が入っていて、b列に人の名前が入っていて、日付けで検索した場合にa列に同じ日付が有って、b列に違う名前が有った場合の処理について教えてください。 やりたいのは、上から順に名前が引き当てられる。 <表示例 1> これは当方には難しい気がするので、第2希望としては全ての該当氏名が同じ日付に引き当てられる。 <表示例 2> この場合、表示させるセルの場所の指定が煩雑になりそうな気がしますが、何とかできないでしょうか? a列 b列 2017/7/1 aさん 2017/8/1 bさん 1017/7/1 cさん <表示例 1> 検索値 結果 2017/7/1 aさん 2017/7/1 cさん もしくは <表示例 2> 検索値 結果 2017/7/1 aさん、cさん
回答: 基本的に複数を引き当てるという考え方は関数にはありません。 なぜならばその関数を記述するセルが単一だからです。 当然vlookupにおいても最初に引き当てたもの以外は無視されます。 では 表示例1を考えてみましょう。 仮にcさんの方を出す方法があるとしても 2行目の検索値はどうするのですか? countifを使って予め何個あるかを数えることは可能ですが それを別のセルに適用することはマクロ以外ではかなり煩雑になると思われます。 そういう意味においては表示例2の方がまだ少しは楽でしょうね。 但し、2個なら考えられる可能性はなくもないけど3個以上もとなると やはりマクロの方が合理的ではないかと。