現役システムエンジニアが業務改善関連の「実施した講座の内容」や「実務で遭遇した課題と対処方法」などを掲載するブログです。2020年1月30日VLOOKUP関数の検索条件に合致する結果が複数ある場合は最初に一致する結果が表示されます。この記事では最初でなく最後に一致する結果を取得する方法を紹介します。サンプルで説明します。D列とE列が検索される表で、H列がVLOOKUP関数の列です。通常のVLOOKUP関数の使用では検索値に1を指定すると最初に合致する「織田」、2は「伊達」、3は「毛利」になります。COUNTIFS関数の列を追加します。COUNTIF関数を使い慣れていればそちらを使っても構いませんが最新のバージョンではMAX関数やMIN関数がMAXIFS関数、MINIFS関数のみ追加されているため(Sなしはオミット)MAXIFS関数、MINIFS関数を使うと混乱がありません。(実用上はどちらでもよいです)関数はこのように記述します。COUNTIFS(検索する範囲を相対指定,検索値)検索条件範囲(引数1)にVLOOKUP関数の範囲と同じものを指定しますが絶対参照$を付けずに相対指定にします。すると最後に登場したNoが1になります。次にIF関数の列を追加します。(D列)IF(COUNTIFS関数のセル=1,検索値のセル,"")COUNTIFS関数の結果が1の場合のみNoを表示し、それ以外は空白にします。すると同一No中で最後に登場する物のみIF関数の結果として表示されます。このIF関数の列を検索対象にしてVLOOKUP関数を作成すれば完成です。(J8~L11セル)この記事では説明のためIF関数とCOUNTIFS関数のセルを分けましたが実用の際は一つのセルにしても構いません。IF(COUNTIFS(検索する範囲を相対指定,検索値)=1,検索値のセル,"")XLOOKUP関数の場合XLOOKUP関数の場合は引数:検索モードで最初か最後かを取得かを指定可能です。IF関数とCOUNTIFS関数を使わずにXLOOKUP関数単体で実現できるため非常に便利になっています。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト上に表示された文字を入力してください。