ExcelのOFFSET関数は、動的な範囲の参照や集計に便利な関数です。特に、名前の定義と組み合わせることで、入力範囲の自動拡張やデータの柔軟な抽出が可能になります。
しかし、いざ数式に利用しようとすると


エラーになっちゃった…
…そんな経験はありませんか?
本記事では、「OFFSET関数を名前の定義に使ったとき、他シートで参照するとエラーになる」という現象について、その原因と解決方法を詳しく解説します。

この記事のゴール
- OFFSET関数で他シート参照時にエラーになる理由がわかる
- そのエラーの回避策を理解できる。
(前提)OFFSET関数について
まずは、OFFSET関数の基本をおさらいしておきましょう。
OFFSET関数の基本構文は以下の通りです。
=OFFSET(基準セル, 移動行数, 移動列数, [高さ], [幅])
基準セル: | 検索する値を指定します。 |
移動行数: | 基準セルから何行移動するか(正の値で下方向、負の値で上方向 |
移動列数: | 基準セルから何列移動するか(正の値で右方向、負の値で左方向) |
高さ : | (省略可)返す範囲の行数を指定します。 |
幅 : | (省略可)返す範囲の列数を指定します。 |
たとえば、=OFFSET(C1,2,-1)
は、A1を基準に 2行下、1左のセルを取得します。

OFFSET関数を用いた名前の定義がエラーになる理由
OFFSET関数を使用した名前の定義を別シートで参照した場合、エラー警告文が発生します。
これはExcelの仕様によるもので、名前の定義に使われたOFFSET関数が、参照先のシートと異なるシートから呼び出されたときに正しく動作しないためです。
エラーを解消する方法
このエラーへの対処法はとても簡単で、作成した関数に「シート名!」を付けておくだけです。
具体的な作業内容は以下の記事で解説しています。
まとめ
OFFSET関数は便利ですが、名前の定義と他シート参照を同時に使うとエラーになるという注意点があります。この仕様を理解した上で、ExcelテーブルやINDEX関数などの代替手段を取り入れることで、より快適なExcel環境が整います。

Excelでのデータ管理をもっとスマートに、メンテナンス性の高い設計を一緒に目指していきましょう。
Udemyであなたの「学びたい」をかなえませんか?(PR)

日々のExcel作業を「もっと効率よくできないかな?」と感じていませんか?
「Office de Tips」では、日々の業務に役立つExcelのヒントをお届けしていますが、さらに一歩進んだスキルを身につけるなら、Udemyがおすすめです。
Udemyは、世界中の専門家が教える21万以上のオンライン講座が揃う学習プラットフォームです。Excelの基礎から、VBAを使った自動化、データ分析まで、あなたのレベルや目的に合わせた講座が必ず見つかります。

お金かかりそう…
という方でもご安心ください。Udemyには無料コースが用意されているほか、有料コースでも30日間の返金保証が付いているため、気軽に始めることができます。
そして最大の魅力は、一度購入すれば、追加料金なしでいつでも、何度でも見直せることです。忙しい合間を縫って少しずつ学んだり、忘れてしまった部分を後から復習したりと、あなたのペースでじっくりとスキルを身につけられます。
おすすめ講座!

Udemyで新しいスキルを習得して、日々の業務をさらに効率化し、あなたの可能性を広げましょう!