g725|【Excel上級者向け】OFFSET関数を使いこなせ!特定の行データを丸ごと取得する応用テクニック

前回の記事では、OFFSET関数が基準セルから指定した数だけ移動した「単一のセル」の値を取得する方法を解説しました。しかし、OFFSET関数の真価は、省略可能な引数である[高さ][幅]を指定することで、「特定の範囲(複数のセル)」を丸ごと取得できる点にあります。

今回は、この応用テクニックを使って、指定した支店の売上データを1行分ごっそり取り出す方法をマスターしましょう。

目次

今回のゴール:指定した行数に該当する支店のデータを一行丸ごと抽出する

以下の「支店別四半期別売上表」の中から、C2セルで指定した行数(今回は「2」=千葉支店)に該当するデータを、A4セルからE4セルにかけて一行分すべて表示させることが目標です。

サンプルデータ

以下は、上記画像のExcelデータですので、ダウンロードして練習として使用ください。

Excel-g725-1.xlsx (ダウンロード)

まずは、以下のサンプルデータをExcelシートにコピーして、操作の準備をしてください。

ABCDE
1位置検索
2(支店)2
3検索結果
4(ここに数式を入力)
5
6支店別四半期別売上表
7支店第1四半期第2四半期第3四半期第4四半期
8福岡9,015,9199,771,4347,977,78210,667,848
9千葉7,094,8909,173,3219,233,8909,380,930
10埼玉6,591,9107,999,0646,851,5748,813,211

解決策:OFFSET関数の応用(高さと幅の指定)

この操作は、お使いのExcelのバージョンによって入力方法が少し異なります。

【Excel 2019以前のバージョン】

  1. まず、数式の結果を表示させたい範囲(A4セルからE4セルまで)をあらかじめ選択します 1
  2. その状態で、以下の数式を入力します。
  3. 最後に、Ctrl + Shift + Enterキーを同時に押して数式を確定します 2。数式が { } で囲まれれば成功です。

【Microsoft 365版 Excel】

  1. A4セルのみを選択します。
  2. 以下の数式を入力して、普通にEnterキーを押します。
  3. これだけで、結果が自動的に右側のセル(B4~E4)に展開(スピル)されます。

Excel

=OFFSET(A7, C2, 0, 1, 5)

数式の解説

基本のOFFSET関数に、[高さ][幅]の引数を追加した形です。

OFFSET(基準,行数,列数,高さ,幅)

  1. 基準 (reference): A7
    • スタート地点となるセルです 3
  2. 行数 (rows): C2
    • 基準セルから下にどれだけ移動するかを指定します 4C2セルの値「2」が使われるので、A7から2行下のA9の位置まで移動します。
  3. 列数 (cols): 0
    • 基準セルから右にどれだけ移動するかを指定します 5。今回は「0」なので、列の移動はありません。
  4. 高さ (height): 1
    • 【応用ポイント①】 取得したい範囲の行数を指定します。今回は1行分のデータが欲しいので、「1」を指定します 6
  5. 幅 (width): 5
    • 【応用ポイント②】 取得したい範囲の列数を指定します。「支店」から「第4四半期」まで5列分のデータが欲しいので、「5」を指定します 7

この数式は、「

A7セルを基準に、下に2行移動し、列は移動せず(0)、そこから高さ1行、幅5の範囲を取得してください」という命令になります。結果として、A9:E9の範囲(千葉支店のデータ)が丸ごと返されるわけです 8

まとめ

OFFSET関数の[高さ][幅]を使いこなすことで、単一のセルの値だけでなく、特定の範囲を動的に取得することが可能になります。これにより、合計範囲が自動で変わる集計表や、ドロップダウンリストと連動して内容が変わる表など、より高度でインタラクティブなシートを作成できます。

ぜひこの強力なテクニックを覚えて、Excelスキルをさらにレベルアップさせてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次