HLOOKUP関数とROW関数の組み合わせテクニック

HLOOKUP関数について先日解説しました。

表の中から指定値を列方向に検索を行い指定行の値を抽出するHLOOKUP関数の使い方 | Excelを制する者は人生を制す ~No Excel No Life~

HLOOKUP関数を複数セルに入力する必要があり、かつ行番号を変更する必要がある場合、基本的な部分は絶対参照・相対参照を工夫すればコピー&ペーストで大部分は大丈夫ですが、行番号は手修正が必要になります。

行番号の部分も手修正不要にしたい場合にROW関数と組み合わせると良いです。

行番号を返すROW関数の使い方 | Excelを制する者は人生を制す ~No Excel No Life~

今回はHLOOKUP関数とROW関数の組み合わせテクニックについて解説していきます。

使用例

HLOOKUP関数とROW関数①

先日のHLOOKUP関数の記事のサンプルと同様です。

サンプル(上図)として、4~9月ごとの収入・支出・残額のデータがA2:G5の範囲で表になっています。

そしてB8セルに任意の月を選択すると、B9・B10・B11の各セルにB8セルの月の収入・支出・残額が自動で反映されるようにしたいとします。

参照元:表の中から指定値を列方向に検索を行い指定行の値を抽出するHLOOKUP関数の使い方

B9セルのHLOOKUP関数内の「検索値」・「範囲」「検索方法」は前回と同一ですが、「行番号」の部分については今回ROW関数を入力します。

ROW関数の引数は指定なし(ブランク)で良いです。

そうすると、ROW関数はB9セルであれば「9」という数値を返します。

ただ、今回のHLOOKUP関数でB9セルで引用したいのは「範囲」の2行目のため、「9」と「2」の差分である「7」をROW関数から減算する必要があります。

この部分の行番号の考え方については下図を参照した方がわかりやすいと思います。

HLOOKUP関数とROW関数②

よって、「行番号」は"ROW()-7"が入ります。

このB9セルをB10・B11セルにコピー&ペーストしても行番号の手修正は不要になります。

まとめ

HLOOKUP関数のセルが多ければ多いほど有用なテクニックとなります。

その他、VLOOKUP関数と同様に行番号の部分をROW関数ではなくMATCH関数を組み込むことも有効です。

VLOOKUP関数の「列番号」を可変にするテクニックその2【MATCH関数と組み合わせる】 | Excelを制する者は人生を制す ~No Excel No Life~

この部分はお好みで使い分けると良いですね(*^^*)