<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>OFFSET &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/offset/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Mon, 16 Mar 2026 13:06:59 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>OFFSET &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのOFFSET関数の使い方｜動的な範囲指定で集計を自動化する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-offset/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-offset/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 08 Jul 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[OFFSET]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2314</guid>

					<description><![CDATA[ExcelのOFFSET関数の使い方を基本から実務活用まで解説。SUM・COUNTAとの組み合わせで動的範囲を作る方法、MATCH関数との連携、よくあるエラーの対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「基準のセルから何行・何列ずれた場所を参照したい」。そんな場面で活躍するのがOFFSET関数です。</p>



<p class="wp-block-paragraph">単体でも便利ですが、SUM関数やCOUNTA関数と組み合わせるのが本領です。データが増えても自動で集計範囲が広がる仕組みを作れます。基本の書き方から実務で使える動的範囲の作り方まで解説します。</p>



<p class="wp-block-paragraph">この記事は次のような人におすすめ</p>



<ul class="wp-block-list"><li>OFFSET関数の基本的な使い方を知りたい</li><li>データが増減しても自動で対応する集計式を作りたい</li><li>MATCH関数やSUM関数との組み合わせ方を知りたい</li></ul>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">OFFSET関数とは？</a></li><li><a href="#toc2" tabindex="0">OFFSET関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">OFFSET関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">単一セルを参照する</a></li><li><a href="#toc7" tabindex="0">上方向・左方向に移動する</a></li><li><a href="#toc8" tabindex="0">セル参照で移動量を指定する</a></li><li><a href="#toc9" tabindex="0">範囲を返す（高さ・幅の指定）</a></li></ol></li><li><a href="#toc10" tabindex="0">OFFSET関数の実務活用パターン</a><ol><li><a href="#toc11" tabindex="0">SUM + OFFSET + COUNTAで動的合計</a></li><li><a href="#toc12" tabindex="0">AVERAGE + OFFSETで直近N件の平均</a></li><li><a href="#toc13" tabindex="0">MATCH + OFFSETで検索結果のずれた列を取得</a></li><li><a href="#toc14" tabindex="0">名前定義と組み合わせた動的な入力規則</a></li></ol></li><li><a href="#toc15" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc16" tabindex="0">似た関数との違い・使い分け</a><ol><li><a href="#toc17" tabindex="0">OFFSET関数 と INDEX関数</a></li><li><a href="#toc18" tabindex="0">OFFSET関数 と INDIRECT関数</a></li></ol></li><li><a href="#toc19" tabindex="0">まとめ</a><ol><li><a href="#toc20" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">OFFSET関数とは？</span></h2>



<p class="wp-block-paragraph">OFFSET関数は、基準のセルから指定した行数・列数だけ移動した位置にあるセルやセル範囲を返す関数です。</p>



<p class="wp-block-paragraph">読み方は「オフセット関数」です。英語の offset は「ずらす」という意味で、基準点からの「ずれ」を表します。</p>



<p class="wp-block-paragraph">最大の特徴は、第4・第5引数で「高さ」と「幅」を指定できる点です。任意のサイズの範囲を動的に生成できます。SUM関数やAVERAGE関数の引数に入れれば、データの増減に自動対応します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>OFFSET関数は「揮発性関数」です。ブック内のどこかのセルが変更されるたびに再計算されるため、大量に使うとファイルが重くなることがあります。固定範囲で済む場面では通常のセル参照を使いましょう。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">OFFSET関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=OFFSET(基準, 行数, 列数, [高さ], [幅])</code></pre>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>基準</td><td>必須</td><td>移動の起点となるセルまたはセル範囲</td></tr><tr><td>行数</td><td>必須</td><td>基準から下方向に移動する行数。負の数で上方向</td></tr><tr><td>列数</td><td>必須</td><td>基準から右方向に移動する列数。負の数で左方向</td></tr><tr><td>高さ</td><td>省略可</td><td>返す範囲の行数。省略時は基準と同じ行数</td></tr><tr><td>幅</td><td>省略可</td><td>返す範囲の列数。省略時は基準と同じ列数</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>行数・列数に <code>0</code> を指定すると、その方向には移動しません。「行だけずらしたい」「列だけずらしたい」場合は、動かさない方を <code>0</code> にします。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc5">OFFSET関数の基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc6">単一セルを参照する</span></h3>



<p class="wp-block-paragraph">セルA1を基準に、2行下・1列右のセルを参照するには次のように書きます。</p>



<pre class="wp-block-code"><code>=OFFSET(A1, 2, 1)</code></pre>



<p class="wp-block-paragraph">A1から2行下・1列右なので、B3の値が返ります。</p>



<h3 class="wp-block-heading"><span id="toc7">上方向・左方向に移動する</span></h3>



<p class="wp-block-paragraph">行数や列数に負の数を指定すると、上方向・左方向に移動できます。</p>



<pre class="wp-block-code"><code>=OFFSET(C5, -2, -1)</code></pre>



<p class="wp-block-paragraph">C5から2行上・1列左なので、B3の値が返ります。</p>



<h3 class="wp-block-heading"><span id="toc8">セル参照で移動量を指定する</span></h3>



<p class="wp-block-paragraph">行数・列数を直接入力せず、セルの値で指定することもできます。</p>



<pre class="wp-block-code"><code>=OFFSET(A1, B1, B2)</code></pre>



<p class="wp-block-paragraph">B1に <code>3</code>、B2に <code>2</code> が入っていれば、C4を参照します。値を変えるだけで参照先を切り替えられるのが便利です。</p>



<h3 class="wp-block-heading"><span id="toc9">範囲を返す（高さ・幅の指定）</span></h3>



<p class="wp-block-paragraph">第4・第5引数を指定すると、OFFSET関数は複数セルの範囲を返します。</p>



<pre class="wp-block-code"><code>=SUM(OFFSET(A1, 0, 0, 5, 1))</code></pre>



<p class="wp-block-paragraph">A1を起点に、高さ5行・幅1列の範囲（A1:A5）の合計を返します。この「範囲を返す」使い方が実務では最も重要です。</p>



<h2 class="wp-block-heading"><span id="toc10">OFFSET関数の実務活用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc11">SUM + OFFSET + COUNTAで動的合計</span></h3>



<p class="wp-block-paragraph">売上データが随時追加される表で、常に最新の合計を出したい場面はよくありますよね。OFFSET関数と<a href="https://mashukabu.com/excel-function-howto-use-counta/">COUNTA関数</a>を組み合わせましょう。データが増えても自動で範囲が広がります。</p>



<p class="wp-block-paragraph">B列に売上金額が入っていて、B1が見出し行だとします。</p>



<pre class="wp-block-code"><code>=SUM(OFFSET(B1, 1, 0, COUNTA(B:B)-1, 1))</code></pre>



<p class="wp-block-paragraph">この数式の動きを分解すると次のようになります。</p>



<ul class="wp-block-list"><li><code>COUNTA(B:B)-1</code> でB列のデータ件数を取得（見出し行を除く）</li><li><code>OFFSET(B1, 1, 0, ...)</code> でB2を起点にデータ件数分の高さを持つ範囲を生成</li><li><a href="https://mashukabu.com/excel-function-howto-use-sum/">SUM関数</a>でその範囲を合計</li></ul>



<p class="wp-block-paragraph">データを1行追加すると、COUNTAの結果が1つ増え、OFFSETの高さも自動的に1行広がります。</p>



<h3 class="wp-block-heading"><span id="toc12">AVERAGE + OFFSETで直近N件の平均</span></h3>



<p class="wp-block-paragraph">直近の売上データだけを対象に平均を取りたい場合も、OFFSET関数が便利です。</p>



<p class="wp-block-paragraph">B列に売上金額、E1に「直近何件分か」の件数を入力するとします。</p>



<pre class="wp-block-code"><code>=AVERAGE(OFFSET(B1, COUNTA(B:B)-E1, 0, E1, 1))</code></pre>



<p class="wp-block-paragraph">E1に <code>5</code> と入力すれば、最新5件の平均が計算されます。値を変えるだけで件数を切り替えられるのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc13">MATCH + OFFSETで検索結果のずれた列を取得</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-match/">MATCH関数</a>で見つけた行位置を使い、隣の列の値を取得するパターンです。</p>



<p class="wp-block-paragraph">A列に商品名、B列に価格が入っている表で、商品名から価格を取得します。</p>



<pre class="wp-block-code"><code>=OFFSET(A1, MATCH(&quot;りんご&quot;, A:A, 0)-1, 1)</code></pre>



<p class="wp-block-paragraph">MATCH関数が「りんご」の行番号を返し、OFFSET関数がA1からその行数分だけ下にずれた隣の列（B列）を参照します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>この用途では<a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>とMATCH関数の組み合わせが一般的です。OFFSETを使うケースは、行と列の両方を動的に動かしたい場合に向いています。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc14">名前定義と組み合わせた動的な入力規則</span></h3>



<p class="wp-block-paragraph">OFFSET関数を名前定義に使うと、ドロップダウンリストの選択肢を自動で増減できます。</p>



<ol class="wp-block-list"><li>A列にリストの選択肢を入力（A1が見出し）</li><li>「数式」タブ →「名前の管理」→「新規作成」</li><li>名前を「商品リスト」、参照範囲に次の数式を入力</li></ol>



<pre class="wp-block-code"><code>=OFFSET(Sheet1!$A$2, 0, 0, COUNTA(Sheet1!$A:$A)-1, 1)</code></pre>



<ol class="wp-block-list"><li>データの入力規則で「リスト」を選び、元の値に <code>=商品リスト</code> と入力</li></ol>



<p class="wp-block-paragraph">A列にデータを追加するだけで、ドロップダウンの選択肢が自動的に増えます。</p>



<h2 class="wp-block-heading"><span id="toc15">よくあるエラーと対処法</span></h2>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>主な原因</th><th>対処法</th></tr></thead><tbody><tr><td>#REF!</td><td>移動先がシートの範囲外になっている</td><td>行数・列数の値を確認する。基準セルから上方向にシートの外まで移動していないかチェック</td></tr><tr><td>#VALUE!</td><td>引数に数値以外（文字列など）が入っている</td><td>行数・列数・高さ・幅にはすべて数値を指定する</td></tr><tr><td>#REF!</td><td>高さまたは幅に0を指定した</td><td>高さ・幅は1以上の正の数を指定する。省略するか基準と同じサイズにする</td></tr><tr><td>結果が0</td><td>OFFSET単体の結果を確認しようとしている</td><td>OFFSET関数は範囲を返すだけなので、SUM等と組み合わせるか、Ctrl+Shift+Enterで配列数式にする</td></tr><tr><td>ファイルが重い</td><td>OFFSET関数を大量に使っている</td><td>OFFSET関数は揮発性関数のため、不要なセルでは通常の参照やINDEX関数に置き換える</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>OFFSET関数の結果を確認したいときは、数式バーで数式を選択して <code>F9</code> キーを押すと、計算結果をプレビューできます。確認後は <code>Esc</code> キーでキャンセルしてください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc16">似た関数との違い・使い分け</span></h2>



<h3 class="wp-block-heading"><span id="toc17">OFFSET関数 と INDEX関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>OFFSET関数</th><th><a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a></th></tr></thead><tbody><tr><td>参照方法</td><td>基準セルからの相対移動</td><td>範囲内の行番号・列番号で指定</td></tr><tr><td>範囲の返却</td><td>高さ・幅を指定して範囲を返せる</td><td>単一セルを返す（配列数式で範囲も可）</td></tr><tr><td>揮発性</td><td>揮発性関数（再計算が多い）</td><td>非揮発性（パフォーマンスに優しい）</td></tr><tr><td>使い分け</td><td>動的範囲の生成（SUM+OFFSET等）</td><td>固定範囲からの値取得（INDEX+MATCH等）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">単一セルの値を取得するだけなら、INDEX関数が有利です。高さ・幅を動的に変えて範囲を生成する場面がOFFSETの出番です。</p>



<h3 class="wp-block-heading"><span id="toc18">OFFSET関数 と INDIRECT関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>OFFSET関数</th><th><a href="https://mashukabu.com/excel-function-howto-use-indirect/">INDIRECT関数</a></th></tr></thead><tbody><tr><td>参照の指定方法</td><td>基準セル＋行数・列数の数値</td><td>文字列で参照先を指定</td></tr><tr><td>範囲の返却</td><td>高さ・幅で範囲サイズを指定</td><td>文字列で&#8221;A1:A10&#8243;のように範囲を指定</td></tr><tr><td>揮発性</td><td>揮発性</td><td>揮発性</td></tr><tr><td>使い分け</td><td>相対位置で動的範囲を作る</td><td>シート名やセルアドレスを文字列で組み立てる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">OFFSETは数値で位置を指定し、INDIRECTは文字列で参照先を組み立てます。別シートの参照ならINDIRECT関数が向いています。データ件数に応じた範囲変更ならOFFSET関数の出番です。</p>



<h2 class="wp-block-heading"><span id="toc19">まとめ</span></h2>



<p class="wp-block-paragraph">OFFSET関数は、基準セルからの相対位置で参照先を動的に変えられる関数です。</p>



<ul class="wp-block-list"><li>基本は <code>=OFFSET(基準, 行数, 列数)</code> の3引数</li><li>第4・第5引数で高さ・幅を指定すると範囲を返せる</li><li>SUM関数+COUNTA関数と組み合わせると、データ追加に自動対応する集計式が作れる</li><li>揮発性関数のため、大量使用は避けてINDEX関数やテーブル機能を検討する</li></ul>



<p class="wp-block-paragraph">「数式を直す手間」をなくせるのがOFFSET関数の強みです。まずはSUM+OFFSET+COUNTAの動的合計から試してみてください。</p>



<h3 class="wp-block-heading"><span id="toc20">関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-match/">ExcelのMATCH関数の使い方｜検索値の位置を取得する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-count/">ExcelのCOUNT関数の使い方｜数値セルの個数を数える方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-counta/">ExcelのCOUNTA関数の使い方｜空白でないセルを数える方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-sumifs/">ExcelのSUMIFS関数の使い方｜複数条件・ワイルドカード・日付まで実例で解説</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-averageifs/">ExcelのAVERAGEIFS関数の使い方｜複数条件で平均を求める方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-indirect/">INDIRECT関数の使い方ガイド</a></li><li><a href="https://mashukabu.com/excel-function-alphabetical-order">アルファベット順 Excel関数一覧</a></li><li><a href="https://mashukabu.com/excel-function-list-by-function/">機能別 Excel関数一覧</a></li><li><a href="https://mashukabu.com/excel-error-value-list/">エラー値の種類と対処方法</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-offset/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
