エクセルはデータ解析・管理を行うツールとして非常に機能が高く、上手く使いこなせると業務を大幅に効率化できるため、その扱いに慣れておくといいです。
ただ機能が充実しているあまり初心者にとっては処理方法がよくわからないことも多いといえます。例えばエクセルのVLOOKUP関数にて返す結果を指定の範囲の一番右に固定させるには、どう処理すればいいのか理解していますか。
ここではエクセルのVLOOKUPにてデータの一番右を返すように設定する方法について解説していきます。
エクセルのVLOOKUPにて一番右を返す方法【常に右端を選択】
それでは以下のサンプルデータを用いてエクセルでのVLOOKUP関数を使用時に「指定の範囲の一番右のセル」を抽出する方法について解説していきます。
なおここでは、表にて列数が変化しない&空白セルがないことを前提にお話ししていきます。
VLOOKUPにてデータの一番右を常に選択するには、出力したいセルに=VLOOKUP(C9,1:6,COUNTA(2:2),FALSE)と入力するといいです。
この数式の意味を解説していきます。
まず中身のCOUNTA(2:2)にて2行目における最終列(つまり一番右の列番号)を取得しています。ちなみにこれは列数がすべて同じ表である前提がある場合に処理できることと覚えておきましょう。
すると指定範囲における一番右の列番号がわかるために、あとは単純にVLOOKUPの本来の使い方をするだけでいいのです。
具体的には
=VLOOKUP(検索セル,範囲,COUNTA(2:2)(つまり一番右),FALSE(完全一致)
と処理すればいいわけです。
ENTERにて処理を確定させると以下のようになります。
これにてVLOOKUPでの一番右の列の取得が完了となります。
VLOOKUPにて一番右が取得されていることの確認
念のため上の状態から元のデータに新規列を追加し、一番右の値を変化させるとどうなるのかも見ておきましょう。
以下のように新規列を加え一番右のデータが変わると、それに応じてVLOOKUPにて検索した中身も新たな一番右(最終列)となるのが確認できました。
エクセルのVLOOKUPにて一番右を返す方法【空白列がある場合】
なお上の関数では空白列が表中に含まれるとうまく処理できません。
このような場合には任意のセルに、空白を含んでいても一番右がどうかを判定するための処理用の行を設けるといいです(この場合でも列数は常に一定と仮定します)。
そしてここに=IF(LEN(A1)>0,COLUMN(),0)と入力しましょう。
ENTERにて処理を確定させると、以下のようになります。
引き続きオートフィルにて右方向に一括処理していきます。この時、データの列数が今後増えても対応できるようにより多く処理しておくといいです。
この前処理を行っておくことにより、VLOOKUPにて空白列有でも常に一番右を選択できる準備が整いました。
続いてVLOOKUPにて一番右の出たを出力させたいセルに、=VLOOKUP(G9,1:6,MAX(7:7),FALSE)と入力しましょう。
ENTERにて確定させると、エクセルにてVLOOKUPでの一番右(最終列)を取得することができました。
VLOOKUPにて空白列があっても一番右の取得の確認
念のため、上の状態から元のデータの列数を変化させてもうまく処理できることを見ておきます。
E列のデータを消すと、出力結果の一番右の中身も変わっていることが確認できました。
まとめ エクセルのVLOOKUPにて一番右を取得する方法
ここでは、エクセルのVLOOKUPにて一番右を取得する方法について解説しました。
よく使用する操作のためこの機会に理解しておくといいです。
さまざまなエクセル操作を理解し、日々の業務を効率化させていきましょう
コメント