前回の記事では、OFFSET関数が基準セルから指定した数だけ移動した「単一のセル」の値を取得する方法を解説しました。しかし、OFFSET関数の真価は、省略可能な引数である[高さ]と[幅]を指定することで、「特定の範囲(複数のセル)」を丸ごと取得できる点にあります。
今回は、この応用テクニックを使って、指定した支店の売上データを1行分ごっそり取り出す方法をマスターしましょう。
今回のゴール:指定した行数に該当する支店のデータを一行丸ごと抽出する
以下の「支店別四半期別売上表」の中から、C2セルで指定した行数(今回は「2」=千葉支店)に該当するデータを、A4セルからE4セルにかけて一行分すべて表示させることが目標です。
解決策:OFFSET関数の応用(高さと幅の指定)
手順:A4 に OFFSET の式を入れて Enter
C2 に書いた行数(2)に当たる支店の 1 行を、売上表からまるごと取り出します。Microsoft 365 の Excel なら、A4 に式を入れるだけで右の E4 まで広がります。 A4 に次の式を入力して、Enter キーを押します❶。
=OFFSET(A7,C2,0,1,5) A7C2015青に「見出しの左端のセル」、オレンジに「何行下か」、幅に「取り出したい列の数」を入れます。例:H1 の番号の行を、A1 から 7 列分取り出す
=OFFSET(A1,H1,0,1,7) - 結果は右のセルへ広がります(スピル)。右のセルに何か入っていると #SPILL! になります。

確認:A7 から 2 行下の「千葉」の 1 行が取り出された

答えは 千葉の 1 行(千葉・7,094,890・9,173,321・9,233,890・9,380,930) になりました❷。式は、次の順に計算しています。
- A7から、C2 の 2 行だけ下へずらす
⇒ 9 行目の「千葉」 - そこから高さ 1 行・幅 5 列の範囲を取り出す
⇒ A4:E4 に千葉の 1 行
▶ OFFSETの式(A4)を、練習ツールで試す / INDEXで同じ行を取り出す式(A5)を見る
まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
サンプルデータ

以下は、上記画像のExcelデータですので、ダウンロードして練習として使用ください。
まずは、以下のサンプルデータをExcelシートにコピーして、操作の準備をしてください。
| A | B | C | D | E | |
| 1 | 位置検索 | ||||
| 2 | 行(支店) | 2 | |||
| 3 | 検索結果 | ||||
| 4 | (ここに数式を入力) | ||||
| 5 | |||||
| 6 | 支店別四半期別売上表 | ||||
| 7 | 支店 | 第1四半期 | 第2四半期 | 第3四半期 | 第4四半期 |
| 8 | 福岡 | 9,015,919 | 9,771,434 | 7,977,782 | 10,667,848 |
| 9 | 千葉 | 7,094,890 | 9,173,321 | 9,233,890 | 9,380,930 |
| 10 | 埼玉 | 6,591,910 | 7,999,064 | 6,851,574 | 8,813,211 |
数式の解説
基本のOFFSET関数に、[高さ]と[幅]の引数を追加した形です。
OFFSET(基準,行数,列数,高さ,幅)
- 基準 (reference):
A7- スタート地点となるセルです 3。
- 行数 (rows):
C2- 基準セルから下にどれだけ移動するかを指定します 4。
C2セルの値「2」が使われるので、A7から2行下のA9の位置まで移動します。
- 基準セルから下にどれだけ移動するかを指定します 4。
- 列数 (cols):
0- 基準セルから右にどれだけ移動するかを指定します 5。今回は「0」なので、列の移動はありません。
- 高さ (height):
1- 【応用ポイント①】 取得したい範囲の行数を指定します。今回は1行分のデータが欲しいので、「1」を指定します 6。
- 幅 (width):
5- 【応用ポイント②】 取得したい範囲の列数を指定します。「支店」から「第4四半期」まで5列分のデータが欲しいので、「5」を指定します 7。
この数式は、「
A7セルを基準に、下に2行移動し、列は移動せず(0)、そこから高さ1行、幅5列の範囲を取得してください」という命令になります。結果として、A9:E9の範囲(千葉支店のデータ)が丸ごと返されるわけです 8。
まとめ
OFFSET関数の[高さ]と[幅]を使いこなすことで、単一のセルの値だけでなく、特定の範囲を動的に取得することが可能になります。これにより、合計範囲が自動で変わる集計表や、ドロップダウンリストと連動して内容が変わる表など、より高度でインタラクティブなシートを作成できます。
ぜひこの強力なテクニックを覚えて、Excelスキルをさらにレベルアップさせてください。
VLOOKUP関数と関連する検索関数の使い分けは、こちらのまとめで整理しています。

