エクセルはデータ解析・管理を行うツールとして非常に機能が高く、上手く使いこなせると業務を大幅に効率化できるため、その扱いに慣れておくといいです。
ただ機能が充実しているあまり初心者にとっては処理方法がよくわからないことも多いといえます。例えばエクセルのVLOOKUPにて列番号や行番号をずらすにはどう処理すればいいのか理解していますか。
ここではエクセルのVLOOKUPにて列番号や行番号をずらす方法について解説していきます。
エクセルのVLOOKUPにて列番号をずらす方法(右にずらす)【可変にする】
それでは以下のサンプルデータを用いてエクセルのVLOOKUPにて列番号を右にずらす方法(右にずらす)方法について解説していきます。
以下のようにあるサンプル名(商品名)とその値段・納期・供給不足時の値段が記載された表があるとします。
この時、VLOOKUPにて検索値に対する項目を抽出した後に、オートフィルにてずらした差にそのまま納品日数が表示させる(オートフィル1セル右にずらすと、その分だけずれる)仕組みを作っていきましょう。
このような場合では、この値段が記載のセルに=VLOOKUP($A$10,$A$2:$D$6,COLUMN(),FALSE)と入力するといいです。
VLOOK関数の基本的な扱いの詳細はこちらで解説していますが、
と処理するといいです。
今回では値段をVLOOKUPにて抽出後に、納品日数という元の表での右ずらしの中身も取得していくことから列番号をCOLUMN()と指定しています。
このCOLUMN関数は指定のセルの列番号を返す関数であり、上のよう入力することでそのセルの列番号を取得できるものです。今回の例ではB列なので2を取得していることがわかります。
検索する表の位置自体が例よりも右であれば、COLUMN()-1にするなど適宜該当する番号になるよう調節してください。
ENTERにて処理を確定させると、以下のようになります。
このセルを元にオートフィル(セルの右下に出る十字をドラッグ&ドロップ)することによって、VLOOKUPでの列番号のずらしを実行していきましょう。
すると思った通りに列がずれた中身を抽出することができました。
Vlookup時に1つ飛ばしで列番号をずらす方法
上では、隣のセルに列をずらす方法を解説しましたが、1つ飛ばしなどで可変する仕組みにすることも可能です。
以下のサンプルのよう検索値の値段をVLOOKUPにて取得後にオートフィルを書けると、供給不足時の値段(1つ飛ばしの項目)を抽出できるようにするよう処理していきます。
この場合では列番号を指定時に数値に2をかける(1つ飛ばしの場合)といいです。
具体的には=VLOOKUP($A$10,$A$2:$D$6,COLUMN()*2-2,FALSE)を以下のセルに入れるといいです。
ここ列番号をCOLUMN()*2-2としているのは、初期値(値段のセル)の列番号が2であり、その後1つオートフィルでずらした際に列番号が2つずれるように調節しているわけです。
ENTERにて処理を確定させましょう。
引き続きオートフィルにて右にずらすことで、列番号が2つ右にずれたVLOOKUPを実行します。
これで処理が完了となります。
エクセルのVLOOKUPにて行番号をずらす方法
なお「検索値周りのまとめ」を以下のよう縦書きにする場合もよくあります。
このような場合では、行方向にオートフィルをかける(行暗号をずらす)ことによって、VLOOKUPの中身の列がずれる仕組みにする必要がでてきます。
この時には列番号に対応する部分に行番号を返すROW関数を使うといいです。
具体的には=VLOOKUP($G$2,$A$2:$D$6,ROW()-1,FALSE)と入力しましょう。
この数式の意味は以下の通りです。
ROW関数はROW()にて入力したセルの行番号を取得する関数であり、今回は3行目に入力しているもののVLOOKUPの表では2番目の項目(値段)を抽出したいので―1しています。
これをした方向(行番号方向)にオートフィルすると、列暗号は右にずれる形となるため、連動して納品日数をVLOOKUPにて抽出できるのです。
最終的には以下のようにVLOOKUP関数にて行番頭をずらすことで連動して列番号がずれた仕組みが完成しました。
まとめ エクセルのVLOOKUPにて行番号や列暗号をずらす方法
ここでは、エクセルのVLOOKUPにて行番号や列暗号をずらす方法について解説しました。
よく使用する操作のためこの機会に理解しておくといいです。
さまざまなエクセル操作を理解し、日々の業務を効率化させていきましょう
コメント