<?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>TAKE関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/take%E9%96%A2%E6%95%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 07:36:07 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>TAKE関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのTAKE関数の使い方｜先頭/末尾の行・列を抽出</title>
		<link>https://mashukabu.com/excel-function-howto-use-take/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-take/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 12 Apr 2026 15:36:42 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[TAKE関数]]></category>
		<category><![CDATA[配列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5910</guid>

					<description><![CDATA[ExcelのTAKE関数は、配列の先頭・末尾から指定した行数・列数を取り出す関数です。正の値で先頭から、負の値で末尾から取得できます。SORT関数と組み合わせたTOP N抽出など実践例も解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">ExcelのTAKE関数は、配列から先頭または末尾のN件を取り出す関数です。</p>



<p class="wp-block-paragraph">「売上上位3件を抽出したい」「最新N件を常に表示したい」に直接答えられます。</p>



<p class="wp-block-paragraph">この記事では、基本的な使い方から、SORT・FILTER関数との組み合わせ、DROP関数との使い分けまで解説します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>対応バージョン</strong>: Microsoft 365 / Excel 2024 以降のみ。Excel 2021 以前は非対応です。</p></blockquote>




  <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">TAKE関数とは？</a><ol><li><a href="#toc2" tabindex="0">読み方・語源</a></li><li><a href="#toc3" tabindex="0">できること（ひと言で）</a></li><li><a href="#toc4" tabindex="0">対応バージョン（Excel 365 / 2024以降）</a></li></ol></li><li><a href="#toc5" tabindex="0">TAKE関数の書き方</a><ol><li><a href="#toc6" tabindex="0">構文と引数</a></li><li><a href="#toc7" tabindex="0">引数「行数」「列数」の正・負の意味</a></li></ol></li><li><a href="#toc8" tabindex="0">先頭のN行を取り出す（正の値）</a></li><li><a href="#toc9" tabindex="0">末尾のN行を取り出す（負の値）</a></li><li><a href="#toc10" tabindex="0">列を指定して取り出す</a><ol><li><a href="#toc11" tabindex="0">先頭N列を取り出す</a></li><li><a href="#toc12" tabindex="0">末尾N列を取り出す</a></li><li><a href="#toc13" tabindex="0">行と列を同時に指定する</a></li></ol></li><li><a href="#toc14" tabindex="0">SORT関数と組み合わせてTOP N抽出</a><ol><li><a href="#toc15" tabindex="0">売上上位3件を抽出する例</a></li><li><a href="#toc16" tabindex="0">SORTBY＋TAKEで別列基準のランキング</a></li><li><a href="#toc17" tabindex="0">UNIQUE関数と組み合わせて重複除去ランキングを作る</a></li><li><a href="#toc18" tabindex="0">SEQUENCEと組み合わせて連番付きランキング表を作る</a></li></ol></li><li><a href="#toc19" tabindex="0">FILTER関数と組み合わせて条件付き抽出</a><ol><li><a href="#toc20" tabindex="0">直近N件の平均・合計を常に自動更新する（ローリング集計）</a></li></ol></li><li><a href="#toc21" tabindex="0">DROP関数との使い分け</a><ol><li><a href="#toc22" tabindex="0">TAKE vs DROP 比較表</a></li><li><a href="#toc23" tabindex="0">どちらを使うか判断基準</a></li><li><a href="#toc24" tabindex="0">Excel 2021以前でTAKE関数の代わりに使う数式</a></li></ol></li><li><a href="#toc25" tabindex="0">まとめ・注意点</a><ol><li><a href="#toc26" tabindex="0">できること</a></li><li><a href="#toc27" tabindex="0">注意事項</a></li></ol></li><li><a href="#toc28" tabindex="0">よくある質問</a><ol><li><a href="#toc29" tabindex="0">Q: 行数に0を指定すると #CALC! エラーになるのはなぜですか？</a></li><li><a href="#toc30" tabindex="0">Q: テーブルの中に数式を入れると #SPILL! になります</a></li><li><a href="#toc31" tabindex="0">Q: スピル範囲全体をSUMで合計するにはどうすればよいですか？</a></li><li><a href="#toc32" tabindex="0">Q: Google スプレッドシートでもTAKE関数は使えますか？</a></li></ol></li></ol>
    </div>
  </div>

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



<h3 class="wp-block-heading"><span id="toc2">読み方・語源</span></h3>



<p class="wp-block-paragraph">TAKE関数（読み方：テイク）は、配列の先頭・末尾から行や列を取り出す関数です。関数名は英語の take（取り出す）に由来します。</p>



<p class="wp-block-paragraph">結果は複数セルに自動展開されます（スピル動作）。</p>



<h3 class="wp-block-heading"><span id="toc3">できること（ひと言で）</span></h3>



<ul class="wp-block-list"><li>先頭N行・末尾N行の取り出し</li><li>先頭N列・末尾N列の取り出し</li><li>行と列を同時に指定した範囲の切り出し</li></ul>



<p class="wp-block-paragraph">他の配列関数と組み合わせることで、複雑な抽出も1式で書けます。</p>



<h3 class="wp-block-heading"><span id="toc4">対応バージョン（Excel 365 / 2024以降）</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>バージョン</th><th>対応</th></tr></thead><tbody><tr><td>Microsoft 365（Win/Mac）</td><td>○</td></tr><tr><td>Excel for the web</td><td>○</td></tr><tr><td>Excel 2024</td><td>○</td></tr><tr><td>Excel 2021</td><td>×</td></tr><tr><td>Excel 2019 以前</td><td>×</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">TAKE関数はMicrosoft 365またはExcel 2024以降が必要です。Excel 2021は非対応です。</p>



<h2 class="wp-block-heading"><span id="toc5">TAKE関数の書き方</span></h2>



<h3 class="wp-block-heading"><span id="toc6">構文と引数</span></h3>



<pre class="wp-block-code"><code>=TAKE(配列, 行数, [列数])</code></pre>



<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></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">引数「行数」「列数」の正・負の意味</span></h3>



<p class="wp-block-paragraph">行数・列数の符号で、先頭・末尾どちらから数えるかが変わります。</p>



<ul class="wp-block-list"><li><strong>正の値</strong>: 先頭から数えてN行（列）を取り出す</li><li><strong>負の値</strong>: 末尾から数えてN行（列）を取り出す</li></ul>



<p class="wp-block-paragraph">列のみを指定したい場合は、行数の位置をカンマで区切って空にします。</p>



<pre class="wp-block-code"><code>=TAKE(A2:C10, , 2)</code></pre>



<p class="wp-block-paragraph">第2引数を空のままにすることで、列数だけを指定できます。</p>



<h2 class="wp-block-heading"><span id="toc8">先頭のN行を取り出す（正の値）</span></h2>



<p class="wp-block-paragraph">A2:C10の範囲を使うとします。先頭3行を取り出すには次のように書きます。</p>



<pre class="wp-block-code"><code>=TAKE(A2:C10, 3)</code></pre>



<p class="wp-block-paragraph">A2:C4に相当する3行分が返されます。</p>



<p class="wp-block-paragraph">行数が実際の行数を超えても、エラーにはなりません。配列全体が返されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>注意</strong>: 行数に <strong>0</strong> を指定すると <code>#CALC!</code> エラーになります。0は指定しないでください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc9">末尾のN行を取り出す（負の値）</span></h2>



<p class="wp-block-paragraph">末尾3行を取り出すには、行数を負の値にします。</p>



<pre class="wp-block-code"><code>=TAKE(A2:C10, -3)</code></pre>



<p class="wp-block-paragraph">A2:C10の末尾3行が返されます。A8:C10に相当します。</p>



<p class="wp-block-paragraph">注文履歴テーブルが日付の古い順に並んでいるとします。末尾3行が最新3件に相当します。</p>



<pre class="wp-block-code"><code>=TAKE(注文履歴テーブル, -3)</code></pre>



<p class="wp-block-paragraph">「最新N件を常に表示したい」という用途に最適です。</p>



<h2 class="wp-block-heading"><span id="toc10">列を指定して取り出す</span></h2>



<h3 class="wp-block-heading"><span id="toc11">先頭N列を取り出す</span></h3>



<p class="wp-block-paragraph">A2:C10を使うとします。先頭2列を取り出すには次のように書きます。</p>



<pre class="wp-block-code"><code>=TAKE(A2:C10, , 2)</code></pre>



<p class="wp-block-paragraph">A2:B10に相当する2列分が返されます。</p>



<h3 class="wp-block-heading"><span id="toc12">末尾N列を取り出す</span></h3>



<p class="wp-block-paragraph">末尾2列を取り出すには、列数を負の値にします。</p>



<pre class="wp-block-code"><code>=TAKE(A2:C10, , -2)</code></pre>



<p class="wp-block-paragraph">B2:C10に相当する2列分が返されます。</p>



<h3 class="wp-block-heading"><span id="toc13">行と列を同時に指定する</span></h3>



<p class="wp-block-paragraph">行数と列数の両方を指定すると、矩形範囲を切り出せます。</p>



<p class="wp-block-paragraph">A2:C10から先頭3行 × 先頭2列を取り出すとします。</p>



<pre class="wp-block-code"><code>=TAKE(A2:C10, 3, 2)</code></pre>



<p class="wp-block-paragraph">A2:B4に相当する範囲が返されます。</p>



<h2 class="wp-block-heading"><span id="toc14">SORT関数と組み合わせてTOP N抽出</span></h2>



<h3 class="wp-block-heading"><span id="toc15">売上上位3件を抽出する例</span></h3>



<p class="wp-block-paragraph">A2:C10に「会社名・商品名・売上」が入っているとします。C列の高い順に上位3件を取り出すには次のように書きます。</p>



<pre class="wp-block-code"><code>=TAKE(SORT(A2:C10, 3, -1), 3)</code></pre>



<p class="wp-block-paragraph">SORT関数でA2:C10を3列目（C列）基準に降順で並べ替えます。その結果の先頭3行をTAKEで取り出します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>SORT関数の書き方</strong>: <code>=SORT(配列, 並べ替えインデックス, 並べ替え順序)</code><br>並べ替え順序は 1=昇順、-1=降順 です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc16">SORTBY＋TAKEで別列基準のランキング</span></h3>



<p class="wp-block-paragraph">SORTBY関数は、表示する配列と並べ替えの基準列を別々に指定できます。</p>



<p class="wp-block-paragraph">A2:C10に「会社名・商品名・売上」が入っているとします。C列の高い順に上位3件を取り出すには次のように書きます。</p>



<pre class="wp-block-code"><code>=TAKE(SORTBY(A2:C10, C2:C10, -1), 3)</code></pre>



<p class="wp-block-paragraph">C2:C10を基準に降順で並べ替えます。その先頭3行をTAKEで取り出します。</p>



<p class="wp-block-paragraph">SORTと違い、SORTBYは表示範囲外の列を基準にすることもできます。複数の基準列を設定したい場合にも対応しています。</p>



<h3 class="wp-block-heading"><span id="toc17">UNIQUE関数と組み合わせて重複除去ランキングを作る</span></h3>



<p class="wp-block-paragraph">同一の顧客が複数行に登場するデータで「ユニークな顧客の上位N社」を抽出したいときは、UNIQUE関数を先に通してからTAKEを使います。</p>



<p class="wp-block-paragraph">A2:B10に「顧客名・売上」が入っているとします。重複行を除去したうえで、売上の高い順に上位5社を取り出すには次のように書きます。</p>



<pre class="wp-block-code"><code>=TAKE(SORT(UNIQUE(A2:B10), 2, -1), 5)</code></pre>



<p class="wp-block-paragraph">UNIQUE関数でA2:B10の重複行を除去します。その結果をSORT関数で2列目（売上）の降順に並べ替え、先頭5行をTAKEで取り出します。</p>



<p class="wp-block-paragraph"><strong>注意点</strong></p>



<ul class="wp-block-list"><li>UNIQUE適用後の列数が変わる場合は、TAKEの列数引数も合わせて調整してください。</li><li>同点（同売上）の顧客が複数いる場合、5位にどの顧客が入るかは行の並び順に依存します。ランキングの同点処理が必要な場合はRANK関数との組み合わせを検討してください。</li></ul>



<h3 class="wp-block-heading"><span id="toc18">SEQUENCEと組み合わせて連番付きランキング表を作る</span></h3>



<p class="wp-block-paragraph">TAKEで抽出したランキング結果に自動で連番（1位・2位・3位…）を付けるには、SEQUENCE関数とHSTACKを組み合わせます。</p>



<pre class="wp-block-code"><code>=HSTACK(SEQUENCE(5), TAKE(SORTBY(A2:C10, C2:C10, -1), 5))</code></pre>



<p class="wp-block-paragraph">SEQUENCE(5)で1〜5の連番列を生成し、TAKE+SORTBYで上位5件の表を作成します。HSTACKが両者を横に結合します。</p>



<p class="wp-block-paragraph">SEQUENCE・HSTACKともにMicrosoft 365 / Excel 2024以降のみ対応しています。</p>



<h2 class="wp-block-heading"><span id="toc19">FILTER関数と組み合わせて条件付き抽出</span></h2>



<p class="wp-block-paragraph">条件で絞り込んだうえで先頭N件を取り出したいときは、FILTER関数と組み合わせます。</p>



<p class="wp-block-paragraph">B列が「東京」の行だけを対象にするとします。先頭5件を取り出すには次のように書きます。</p>



<pre class="wp-block-code"><code>=TAKE(FILTER(A2:C10, B2:B10=&quot;東京&quot;), 5)</code></pre>



<p class="wp-block-paragraph">FILTER関数で「B列=東京」の行を抽出します。その結果の先頭5件をTAKEで取り出します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>注意</strong>: FILTER関数の結果が0件の場合、<code>#CALC!</code> エラーになります。<code>IFERROR</code> 関数を使ってエラー処理を追加してください。</p></blockquote>



<pre class="wp-block-code"><code>=IFERROR(TAKE(FILTER(A2:C10, B2:B10=&quot;東京&quot;), 5), &quot;該当なし&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc20">直近N件の平均・合計を常に自動更新する（ローリング集計）</span></h3>



<p class="wp-block-paragraph">TAKE関数の結果は、SUM・AVERAGEなどの集計関数に直接渡せます。「直近N件の平均を常に表示したい」という場面で便利です。</p>



<p class="wp-block-paragraph"><strong>直近3件の平均</strong></p>



<pre class="wp-block-code"><code>=AVERAGE(TAKE(C2:C100, -3))</code></pre>



<p class="wp-block-paragraph">C列の末尾3件の平均を返します。データを追加するたびに自動的に更新されます。結果は単一セルに返るため、スピルは起きません。</p>



<p class="wp-block-paragraph"><strong>テーブル参照と組み合わせる</strong></p>



<p class="wp-block-paragraph">Excelのテーブル（ListObject）に変換しておくと、新しい行を追加するたびにTAKEの対象範囲が自動的に拡張されます。</p>



<pre class="wp-block-code"><code>=AVERAGE(TAKE(テーブル1[売上], -3))</code></pre>



<p class="wp-block-paragraph">SUM・MAX・MIN・COUNTAなど主要な集計関数はすべて同様の形式で使えます。</p>



<pre class="wp-block-code"><code>=SUM(TAKE(テーブル1[売上], -5))</code></pre>



<p class="wp-block-paragraph"><strong>注意</strong>: TAKEの第1引数にテーブルの列を指定するのは問題ありません。ただし、テーブルの<strong>内部のセル</strong>にスピルする数式を置くと <code>#SPILL!</code> エラーになります。集計結果を表示するセルはテーブルの外に置いてください。</p>



<h2 class="wp-block-heading"><span id="toc21">DROP関数との使い分け</span></h2>



<h3 class="wp-block-heading"><span id="toc22">TAKE vs DROP 比較表</span></h3>



<p class="wp-block-paragraph">TAKE関数と対になる関数がDROP関数です。構文は同じですが、動作が逆になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>動作</th><th>使いどころ</th></tr></thead><tbody><tr><td>TAKE</td><td>指定部分を<strong>残す</strong>（取り出す）</td><td>「上位3件だけほしい」</td></tr><tr><td>DROP</td><td>指定部分を<strong>除外する</strong>（捨てる）</td><td>「ヘッダー行を除いた残りがほしい」</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>DROP関数の書き方</strong>: <code>=DROP(配列, 行数, [列数])</code></p></blockquote>



<h3 class="wp-block-heading"><span id="toc23">どちらを使うか判断基準</span></h3>



<ul class="wp-block-list"><li><strong>欲しい部分が決まっている</strong> → TAKE</li><li><strong>除外したい部分が決まっている</strong> → DROP</li></ul>



<p class="wp-block-paragraph">A1:C10にヘッダーを含むデータが入っているとします。1行目（ヘッダー）を除いた残りを取り出すには次のように書きます。</p>



<pre class="wp-block-code"><code>=DROP(A1:C10, 1)</code></pre>



<p class="wp-block-paragraph">TAKEとDROPは組み合わせることもできます。ヘッダーを除いたうえで先頭3件を取り出すとします。</p>



<pre class="wp-block-code"><code>=TAKE(DROP(A1:C10, 1), 3)</code></pre>



<p class="wp-block-paragraph">DROP関数もTAKEと同様に、Microsoft 365 / Excel 2024以降のみ対応しています。</p>



<h3 class="wp-block-heading"><span id="toc24">Excel 2021以前でTAKE関数の代わりに使う数式</span></h3>



<p class="wp-block-paragraph">TAKE関数はMicrosoft 365 / Excel 2024以降のみ対応しています。社内環境がExcel 2021以前の場合は、以下の代替数式を使ってください。</p>



<p class="wp-block-paragraph"><strong>先頭N行を取り出す（INDEXで代替）</strong></p>



<pre class="wp-block-code"><code>=INDEX(A2:C10, ROW(INDIRECT(&quot;1:&quot;&amp;3)), {1,2,3})</code></pre>



<p class="wp-block-paragraph">入力後にCtrl+Shift+Enterで確定します（配列数式）。<code>3</code> の部分を取り出したい行数に変えてください。スピルには非対応のため、あらかじめN行分のセルを選択してから数式を入力します。</p>



<p class="wp-block-paragraph"><strong>末尾N行を取り出す（OFFSETで代替）</strong></p>



<pre class="wp-block-code"><code>=OFFSET(A2, ROWS(A2:A10)-3, 0, 3, 3)</code></pre>



<p class="wp-block-paragraph"><code>A2:A10</code> が対象範囲、最初の <code>3</code> が取り出す行数、最後の <code>3</code> が取り出す列数です。ROWS関数で全行数を動的に取得しているため、データが増えても末尾N行を自動参照できます。</p>



<p class="wp-block-paragraph"><strong>代替数式の制限</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>TAKE関数</th><th>代替数式（INDEX/OFFSET）</th></tr></thead><tbody><tr><td>対応バージョン</td><td>365 / 2024以降</td><td>Excel 2013以降</td></tr><tr><td>入力方式</td><td>通常の数式</td><td>配列数式（Ctrl+Shift+Enter）</td></tr><tr><td>スピル動作</td><td>自動展開</td><td>非対応（手動でN行選択）</td></tr><tr><td>可読性</td><td>高い</td><td>低い（引数が複雑）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ファイルを共有する相手のExcelバージョンを事前に確認してから、TAKE関数を使うようにしてください。</p>



<h2 class="wp-block-heading"><span id="toc25">まとめ・注意点</span></h2>



<p class="wp-block-paragraph">TAKE関数を使うと、配列から先頭・末尾のN件を簡単に取り出せます。</p>



<h3 class="wp-block-heading"><span id="toc26">できること</span></h3>



<ul class="wp-block-list"><li>先頭・末尾からN行・N列を取り出す</li><li>SORT・SORTBYと組み合わせてTOP N抽出</li><li>FILTERと組み合わせて条件付き先頭N件を取得</li><li>DROPと組み合わせてより柔軟な範囲切り出し</li></ul>



<h3 class="wp-block-heading"><span id="toc27">注意事項</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>注意点</th><th>詳細</th></tr></thead><tbody><tr><td>バージョン制限</td><td>Microsoft 365 / Excel 2024以降のみ。Excel 2021は非対応</td></tr><tr><td>行数に0を指定しない</td><td><code>#CALC!</code> エラーになる</td></tr><tr><td>配列サイズ超過</td><td><code>#NUM!</code> エラーになる場合がある</td></tr><tr><td>行数・列数に文字列を指定しない</td><td><code>#VALUE!</code> エラーになる</td></tr><tr><td>スピル動作</td><td>結果は複数セルに自動展開される</td></tr><tr><td>行数が配列を超えた場合</td><td>エラーにならず、配列全体が返される</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">TAKE関数はMicrosoft 365環境であれば今すぐ使えます。ぜひSORT関数やFILTER関数と組み合わせて活用してみてください。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">配列操作系の関数についてはこちらもご覧ください。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-reduce/">REDUCE関数</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-scan/">SCAN関数</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-makearray/">MAKEARRAY関数</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-lookup/">LOOKUP関数</a></li></ul>



<h2 class="wp-block-heading"><span id="toc28">よくある質問</span></h2>



<h3 class="wp-block-heading"><span id="toc29">Q: 行数に0を指定すると #CALC! エラーになるのはなぜですか？</span></h3>



<p class="wp-block-paragraph">TAKE関数は1行以上の取り出しが前提になっています。0は「何も取り出さない」を意味するため、関数の仕様上エラーになります。動的に行数を計算する数式を使っていて0になる可能性がある場合は、IFERRORで囲んでください。</p>



<pre class="wp-block-code"><code>=IFERROR(TAKE(A2:C10, 動的な行数), &quot;&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc30">Q: テーブルの中に数式を入れると #SPILL! になります</span></h3>



<p class="wp-block-paragraph">Excelのテーブル（ListObject）はスピル動作に対応していません。TAKE関数の結果をスピルさせたい場合は、テーブルの外のセルに数式を置くか、「テーブルを範囲に変換」してから入力してください。</p>



<p class="wp-block-paragraph">スピル先のセルに既存データや結合セルがある場合も <code>#SPILL!</code> の原因になります。スピル先の範囲を空にしてから、数式を入力し直してください。</p>



<h3 class="wp-block-heading"><span id="toc31">Q: スピル範囲全体をSUMで合計するにはどうすればよいですか？</span></h3>



<p class="wp-block-paragraph">TAKEのスピル結果を別の関数に渡すには <code>#</code> 記号を使います。</p>



<pre class="wp-block-code"><code>=SUM(E2#)</code></pre>



<p class="wp-block-paragraph">E2にTAKE関数が入っている場合、<code>E2#</code> でスピル範囲全体を参照できます。</p>



<h3 class="wp-block-heading"><span id="toc32">Q: Google スプレッドシートでもTAKE関数は使えますか？</span></h3>



<p class="wp-block-paragraph">使えます。Googleスプレッドシートは2023年以降TAKE関数をサポートしており、構文はExcelと同一です。<code>=TAKE(配列, 行数, [列数])</code> の形式をそのまま使えます。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-take/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのDROP関数の使い方｜行列を削除</title>
		<link>https://mashukabu.com/spreadsheet-drop-function/</link>
					<comments>https://mashukabu.com/spreadsheet-drop-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:36:13 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[DROP関数]]></category>
		<category><![CDATA[TAKE関数]]></category>
		<category><![CDATA[動的配列関数]]></category>
		<category><![CDATA[行列を削除]]></category>
		<category><![CDATA[配列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4877</guid>

					<description><![CDATA[スプレッドシートのDROP関数で配列から行・列を削除する方法を解説。先頭・末尾の削除、FILTER結果のヘッダー除去、TAKE関数との違い・使い分けまで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで表を加工するとき、先頭のヘッダー行や末尾の合計行を除外したいことってありますよね。手作業で削除すると元データまで消えてしまうし、毎回範囲を調整するのも面倒です。</p>



<p class="wp-block-paragraph">DROP関数を使えば、配列の先頭や末尾から指定した数の行・列を削除して、残りのデータだけを取り出せます。元データはそのまま残るので安心です。</p>



<p class="wp-block-paragraph">この記事では、DROP関数の基本的な使い方から、FILTER関数との組み合わせ、TAKE関数との違いまでわかりやすく解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのDROP関数とは？</a><ol><li><a href="#toc2" tabindex="0">DROP関数の基本構文</a></li></ol></li><li><a href="#toc3" tabindex="0">DROP関数の基本的な使い方</a><ol><li><a href="#toc4" tabindex="0">サンプルデータ</a></li><li><a href="#toc5" tabindex="0">先頭の行を削除する</a></li><li><a href="#toc6" tabindex="0">末尾の行を削除する</a></li><li><a href="#toc7" tabindex="0">列を削除する</a></li><li><a href="#toc8" tabindex="0">行と列を同時に削除する</a></li></ol></li><li><a href="#toc9" tabindex="0">DROP関数の実務活用パターン</a><ol><li><a href="#toc10" tabindex="0">パターン1: FILTER結果からヘッダー行を除去する</a></li><li><a href="#toc11" tabindex="0">パターン2: 集計行を除いてデータだけ取り出す</a></li><li><a href="#toc12" tabindex="0">パターン3: 直近N件を除いた過去データを抽出する</a></li><li><a href="#toc13" tabindex="0">パターン4: DROP + TAKEで中間のデータだけ抽出する</a></li><li><a href="#toc14" tabindex="0">パターン5: VSTACK結合後にヘッダーの重複を除去する</a></li></ol></li><li><a href="#toc15" tabindex="0">TAKE関数との違い・使い分け</a></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc17" tabindex="0">まとめ</a><ol><li><a href="#toc18" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのDROP関数とは？</span></h2>



<p class="wp-block-paragraph">DROP関数（読み方: ドロップ関数）は、配列やセル範囲から<strong>先頭または末尾の行・列を削除</strong>して、残りのデータを返す関数です。「Drop（落とす・除外する）」が名前の由来です。</p>



<p class="wp-block-paragraph">たとえば、10行のデータから先頭2行を削除して残り8行だけを取り出すことができます。元データと数式でつながっているため、元データが更新されれば結果も自動で反映されますよ。</p>



<p class="wp-block-paragraph">DROP関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>配列の先頭からN行を削除する（正の数を指定）</li><li>配列の末尾からN行を削除する（負の数を指定）</li><li>列方向の削除もできる（第3引数を使用）</li><li>行と列を同時に削除することもできる</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>DROP関数はGoogleスプレッドシート独自の関数ではなく、ExcelのMicrosoft 365やExcel 2024でも使用できます。ただし、Excel 2021以前のバージョンでは使えません。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">DROP関数の基本構文</span></h3>



<pre class="wp-block-code"><code>=DROP(配列, 行数, [列数])</code></pre>



<p class="wp-block-paragraph">カッコの中に、対象の範囲と削除する行数・列数を指定します。</p>



<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></tbody></table></figure>



<p class="wp-block-paragraph">第2引数（行数）の符号で削除方向が決まります。正の数なら先頭から、負の数なら末尾から削除します。第3引数（列数）も同じルールです。行の削除をスキップして列だけ削除したい場合は、行数に0を指定してくださいね。</p>



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



<p class="wp-block-paragraph">ここでは、売上データからDROP関数で行や列を削除する例を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc4">サンプルデータ</span></h3>



<p class="wp-block-paragraph">A1:D7に以下のデータが入っているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>1</td><td>日付</td><td>担当者</td><td>商品</td><td>売上</td></tr><tr><td>2</td><td>4/1</td><td>佐藤</td><td>商品A</td><td>50,000</td></tr><tr><td>3</td><td>4/2</td><td>田中</td><td>商品B</td><td>30,000</td></tr><tr><td>4</td><td>4/3</td><td>鈴木</td><td>商品C</td><td>45,000</td></tr><tr><td>5</td><td>4/4</td><td>高橋</td><td>商品A</td><td>60,000</td></tr><tr><td>6</td><td>4/5</td><td>伊藤</td><td>商品B</td><td>35,000</td></tr><tr><td>7</td><td>4/6</td><td>佐藤</td><td>商品C</td><td>55,000</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">先頭の行を削除する</span></h3>



<p class="wp-block-paragraph">ヘッダー行（1行目）を削除して、データ部分だけを取り出します。出力先のセル（たとえばF1）に以下の数式を入力して、Enterを押します。</p>



<pre class="wp-block-code"><code>=DROP(A1:D7, 1)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th><th>H</th><th>I</th></tr></thead><tbody><tr><td>1</td><td>4/1</td><td>佐藤</td><td>商品A</td><td>50,000</td></tr><tr><td>2</td><td>4/2</td><td>田中</td><td>商品B</td><td>30,000</td></tr><tr><td>3</td><td>4/3</td><td>鈴木</td><td>商品C</td><td>45,000</td></tr><tr><td>4</td><td>4/4</td><td>高橋</td><td>商品A</td><td>60,000</td></tr><tr><td>5</td><td>4/5</td><td>伊藤</td><td>商品B</td><td>35,000</td></tr><tr><td>6</td><td>4/6</td><td>佐藤</td><td>商品C</td><td>55,000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">第2引数に「1」を指定したので、先頭1行（ヘッダー行）が削除され、データ部分だけが出力されました。「2」にすれば先頭2行が削除されます。</p>



<h3 class="wp-block-heading"><span id="toc6">末尾の行を削除する</span></h3>



<p class="wp-block-paragraph">末尾から削除するには、第2引数に負の数を指定します。</p>



<pre class="wp-block-code"><code>=DROP(A1:D7, -2)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th><th>H</th><th>I</th></tr></thead><tbody><tr><td>1</td><td>日付</td><td>担当者</td><td>商品</td><td>売上</td></tr><tr><td>2</td><td>4/1</td><td>佐藤</td><td>商品A</td><td>50,000</td></tr><tr><td>3</td><td>4/2</td><td>田中</td><td>商品B</td><td>30,000</td></tr><tr><td>4</td><td>4/3</td><td>鈴木</td><td>商品C</td><td>45,000</td></tr><tr><td>5</td><td>4/4</td><td>高橋</td><td>商品A</td><td>60,000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「-2」を指定したので、末尾2行（5行目・6行目のデータ）が削除されました。合計行や集計行を除外したいときに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc7">列を削除する</span></h3>



<p class="wp-block-paragraph">列方向の削除には第3引数を使います。行の削除をスキップするには、行数に0を指定します。</p>



<pre class="wp-block-code"><code>=DROP(A1:D7, 0, 1)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th><th>H</th></tr></thead><tbody><tr><td>1</td><td>担当者</td><td>商品</td><td>売上</td></tr><tr><td>2</td><td>佐藤</td><td>商品A</td><td>50,000</td></tr><tr><td>3</td><td>田中</td><td>商品B</td><td>30,000</td></tr><tr><td>4</td><td>鈴木</td><td>商品C</td><td>45,000</td></tr><tr><td>5</td><td>高橋</td><td>商品A</td><td>60,000</td></tr><tr><td>6</td><td>伊藤</td><td>商品B</td><td>35,000</td></tr><tr><td>7</td><td>佐藤</td><td>商品C</td><td>55,000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">行数を0にして列数を1に指定したので、左端1列（日付列）だけが削除されました。右端から削除したい場合は「-1」のように負の数を使います。</p>



<h3 class="wp-block-heading"><span id="toc8">行と列を同時に削除する</span></h3>



<p class="wp-block-paragraph">行と列を同時に削除することもできます。</p>



<pre class="wp-block-code"><code>=DROP(A1:D7, 1, 1)</code></pre>



<p class="wp-block-paragraph">先頭1行（ヘッダー）と左端1列（日付）を同時に削除します。ヘッダーと不要な列をまとめて除去したいときに、1つの数式で済むので効率的ですよ。</p>



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



<h3 class="wp-block-heading"><span id="toc10">パターン1: FILTER結果からヘッダー行を除去する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>で列全体を対象にフィルターをかけると、ヘッダー行まで結果に含まれてしまうことがあります。DROP関数で先頭1行を除去しましょう。</p>



<pre class="wp-block-code"><code>=DROP(FILTER(A:D, C:C=&quot;商品A&quot;), 1)</code></pre>



<p class="wp-block-paragraph">FILTER関数の結果をそのままDROPに渡して、先頭1行（ヘッダー）を削除しています。数式もシンプルで読みやすいですよね。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン2: 集計行を除いてデータだけ取り出す</span></h3>



<p class="wp-block-paragraph">表の最終行に合計行がある場合、データ部分だけを取り出せます。</p>



<pre class="wp-block-code"><code>=DROP(A2:D8, -1)</code></pre>



<p class="wp-block-paragraph">末尾1行を削除するだけで、集計行を除いた純粋なデータが手に入ります。<a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a>や<a href="https://mashukabu.com/spreadsheet-unique-function/">UNIQUE関数</a>に渡す前処理として使うと、集計行が混ざる事故を防げますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン3: 直近N件を除いた過去データを抽出する</span></h3>



<p class="wp-block-paragraph">売上データを日付の新しい順に並べ替えて、直近3件を除いた残りを取り出します。</p>



<pre class="wp-block-code"><code>=DROP(SORT(A2:D20, 1, FALSE), 3)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a>で日付の降順に並べ替えたあと、DROPで先頭3行（直近3件）を削除しています。「並べ替えてから先頭を切る」という2ステップで考えるとわかりやすいです。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン4: DROP + TAKEで中間のデータだけ抽出する</span></h3>



<p class="wp-block-paragraph">先頭と末尾の両方を除外して、中間部分だけを取り出すことができます。</p>



<pre class="wp-block-code"><code>=TAKE(DROP(A2:D100, 10), 10)</code></pre>



<p class="wp-block-paragraph">先頭10行を削除したあと、そこから10行だけ取り出します。つまり11行目から20行目が返ります。ページネーションのように特定範囲のデータを取り出したいときに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン5: VSTACK結合後にヘッダーの重複を除去する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-vstack-function/">VSTACK関数</a>で複数の表を縦に結合すると、2つ目以降のヘッダーが重複することがあります。</p>



<pre class="wp-block-code"><code>=VSTACK(Sheet1!A1:D4, DROP(Sheet2!A1:D4, 1))</code></pre>



<p class="wp-block-paragraph">2つ目の表をDROPでヘッダー除去してからVSTACKに渡しています。結合前にヘッダーを落とすことで、きれいな一覧表が完成しますよ。</p>



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



<p class="wp-block-paragraph">DROP関数には、ペアとなるTAKE関数があります。どちらも配列のサイズを縮小する関数ですが、アプローチが正反対です。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>DROP関数</th><th>TAKE関数</th></tr></thead><tbody><tr><td>動作</td><td>指定した行・列を<strong>削除</strong>して残りを返す</td><td>指定した行・列を<strong>取り出して</strong>返す</td></tr><tr><td>構文</td><td><code>=DROP(配列, 行数, [列数])</code></td><td><code>=TAKE(配列, 行数, [列数])</code></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>指定した部分を<strong>除いた</strong>残り</td><td>指定した部分<strong>だけ</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">同じデータに対して、DROPとTAKEの結果を比べてみましょう。</p>



<pre class="wp-block-code"><code>=DROP(A1:A10, 3)   → 4行目〜10行目が返る（先頭3行を削除）
=TAKE(A1:A10, 3)   → 1行目〜3行目が返る（先頭3行を取得）</code></pre>



<p class="wp-block-paragraph">DROPが返す部分とTAKEが返す部分は、ちょうど補い合う関係です。元の配列をDROPの結果とTAKEの結果に分割しているイメージですね。</p>



<p class="wp-block-paragraph">使い分けの目安は次のとおりです。</p>



<ul class="wp-block-list"><li><strong>ヘッダー行や合計行を除外したい</strong> → DROP関数（「不要な行を消す」が直感的）</li><li><strong>上位N件だけ取り出したい</strong> → TAKE関数（「N件取る」が直感的）</li><li><strong>中間レコードの抽出</strong> → DROP + TAKEの組み合わせ</li></ul>



<p class="wp-block-paragraph">迷ったときは「自分がやりたい操作は消す？取る？」と考えてみてください。意図が伝わりやすい方を選ぶと、数式が読みやすくなりますよ。</p>



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



<p class="wp-block-paragraph">DROP関数はシンプルですが、削除する行数の指定を間違えるとエラーになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#CALC!</code></td><td>削除する行数が配列の行数以上になった</td><td>削除行数を配列の行数より小さくしてください</td></tr><tr><td><code>#VALUE!</code></td><td>行数・列数に数値以外（文字列など）を指定した</td><td>引数が数値になっているか確認してください</td></tr><tr><td><code>#REF!</code></td><td>出力先のセルに既にデータがある</td><td>出力先の範囲を空にしてください</td></tr><tr><td><code>#NAME?</code></td><td>関数名のスペルミス</td><td>「DROP」のスペルを確認してください</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に注意したいのが <code>#CALC!</code> エラーです。たとえば5行しかないデータに <code>=DROP(A1:A5, 5)</code> と指定すると、全行が削除されて結果が空になるためエラーが発生します。</p>



<p class="wp-block-paragraph">削除前に行数を確認する方法で回避できます。</p>



<pre class="wp-block-code"><code>=IF(ROWS(A1:D10)&gt;1, DROP(A1:D10, 1), A1:D10)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-rows-function/">ROWS関数</a>で行数を取得し、削除しても行が残る場合だけDROPを実行しています。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>IFERRORで囲む方法もありますが、他のエラーまで隠してしまう点に注意してください。原因を特定しやすくするには、IF+ROWSの組み合わせがおすすめです。</p></blockquote>



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



<p class="wp-block-paragraph">DROP関数は、配列から不要な行・列を削除して残りのデータを返す関数です。正の数で先頭から、負の数で末尾から削除できるシンプルな仕組みです。</p>



<p class="wp-block-paragraph">この記事のポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>DROP関数は <code>=DROP(配列, 行数)</code> で、先頭または末尾の行を削除する</li><li>正の数で先頭から削除、負の数で末尾から削除。符号を変えるだけで方向が切り替わる</li><li>第3引数を指定すれば、列方向の削除や行と列の同時削除もできる</li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>のヘッダー除去や集計行の除外など、前処理として活躍する</li><li>TAKE関数はペア関数で、「削除して残す」のがDROP、「指定した分だけ取り出す」のがTAKE</li><li>削除行数が配列の行数以上になると <code>#CALC!</code> エラー。ROWS関数で事前チェックすると安全</li></ul>



<p class="wp-block-paragraph">まずは <code>=DROP(A1:D10, 1)</code> のヘッダー行削除から試してみてください。<a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>や<a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a>と組み合わせれば、データの前処理がグッと効率的になりますよ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc18">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-drop/">ExcelのDROP関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-take-function/">スプレッドシートのTAKE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-expand-function/">スプレッドシートのEXPAND関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">スプレッドシートのFILTER関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">スプレッドシートのSORT関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-unique-function/">スプレッドシートのUNIQUE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-vstack-function/">スプレッドシートのVSTACK関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-rows-function/">スプレッドシートのROWS関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-transpose-function/">スプレッドシートのTRANSPOSE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-drop-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのEXPAND関数の使い方｜配列を拡張</title>
		<link>https://mashukabu.com/spreadsheet-expand-function/</link>
					<comments>https://mashukabu.com/spreadsheet-expand-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:35:45 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[DROP関数]]></category>
		<category><![CDATA[EXPAND関数]]></category>
		<category><![CDATA[TAKE関数]]></category>
		<category><![CDATA[動的配列関数]]></category>
		<category><![CDATA[配列拡張]]></category>
		<category><![CDATA[配列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4869</guid>

					<description><![CDATA[スプレッドシートのEXPAND関数で配列を拡張する方法を解説。構文・引数の詳細、pad_withの設定、FILTER結果の固定サイズ化やVSTACK前の列数正規化など実務パターン、DROP・TAKE関数との違いまで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">FILTER関数やVSTACK関数の結果って、条件によって行数がバラバラになりますよね。そのまま横に並べるとレイアウトが崩れて困ることもあるはずです。</p>



<p class="wp-block-paragraph">EXPAND関数を使えば、配列を指定したサイズに自動で拡張できます。不足分には好きな値を埋められるので、サイズの違う結果をきれいに揃えられますよ。</p>



<p class="wp-block-paragraph">この記事では、EXPAND関数の基本的な使い方から実務活用パターンまでまとめて紹介します。DROP・TAKE関数との違いも整理していますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのEXPAND関数とは？</a><ol><li><a href="#toc2" tabindex="0">EXPAND関数の基本構文</a></li></ol></li><li><a href="#toc3" tabindex="0">EXPAND関数の基本的な使い方</a><ol><li><a href="#toc4" tabindex="0">サンプルデータ</a></li><li><a href="#toc5" tabindex="0">行方向に拡張する</a></li><li><a href="#toc6" tabindex="0">行と列の両方向に拡張する</a></li><li><a href="#toc7" tabindex="0">列方向だけ拡張する</a></li><li><a href="#toc8" tabindex="0">pad_withの指定による違い</a></li></ol></li><li><a href="#toc9" tabindex="0">EXPAND関数の実務活用パターン</a><ol><li><a href="#toc10" tabindex="0">パターン1: FILTER結果を固定サイズに揃える</a></li><li><a href="#toc11" tabindex="0">パターン2: VSTACKで列数が異なるテーブルを結合する</a></li><li><a href="#toc12" tabindex="0">パターン3: DROP + EXPANDでヘッダー除去とサイズ統一を同時に行う</a></li><li><a href="#toc13" tabindex="0">パターン4: HSTACKで行数が異なるテーブルを横結合する</a></li><li><a href="#toc14" tabindex="0">パターン5: SEQUENCE + EXPANDで連番付きテンプレートを作る</a></li></ol></li><li><a href="#toc15" tabindex="0">DROP・TAKE関数との違い・使い分け</a></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc17" tabindex="0">まとめ</a><ol><li><a href="#toc18" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのEXPAND関数とは？</span></h2>



<p class="wp-block-paragraph">EXPAND関数（読み方: エクスパンド関数）は、配列やセル範囲を指定した行数・列数に<strong>拡張</strong>する関数です。「Expand（拡張する・広げる）」が名前の由来です。</p>



<p class="wp-block-paragraph">たとえば、3行2列の表を10行3列に広げたいとき、一発で拡張できます。拡張部分には空白や0など、好きな値を埋められますよ。</p>



<p class="wp-block-paragraph">EXPAND関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>配列を指定した行数に拡張する</li><li>列方向の拡張もできる（第3引数を使用）</li><li>行と列を同時に拡張することもできる</li><li>拡張部分に埋める値を自由に指定できる（第4引数）</li></ul>



<p class="wp-block-paragraph">EXPANDという名前のとおり「拡大専用」の関数です。配列を小さくすることはできません。縮小したい場合は<a href="https://mashukabu.com/spreadsheet-drop-function/">DROP関数</a>を使いましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>EXPAND関数はGoogleスプレッドシート独自の関数ではなく、ExcelのMicrosoft 365やExcel 2024でも使用できます。ただし、Excel 2021以前のバージョンでは使えません。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">EXPAND関数の基本構文</span></h3>



<pre class="wp-block-code"><code>=EXPAND(配列, 行, [列], [pad_with])</code></pre>



<p class="wp-block-paragraph">カッコの中に、対象の範囲と拡張後のサイズを指定します。</p>



<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>pad_with</td><td>任意</td><td>拡張部分に埋める値（省略時は#N/A）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">第2引数（行）と第3引数（列）には、元の配列のサイズ以上の値を指定します。元のサイズより小さい値を指定すると#VALUE!エラーになるので注意してくださいね。</p>



<p class="wp-block-paragraph">第4引数（pad_with）は省略すると拡張部分に#N/Aが表示されます。実務では&#8221;&#8221;（空文字列）か0を指定しておくのがおすすめです。</p>



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



<p class="wp-block-paragraph">ここでは、売上データを使ってEXPAND関数で配列を拡張する例を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc4">サンプルデータ</span></h3>



<p class="wp-block-paragraph">A1:C4に以下のデータが入っているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th></tr></thead><tbody><tr><td>1</td><td>担当者</td><td>商品</td><td>売上</td></tr><tr><td>2</td><td>佐藤</td><td>商品A</td><td>50,000</td></tr><tr><td>3</td><td>田中</td><td>商品B</td><td>30,000</td></tr><tr><td>4</td><td>鈴木</td><td>商品C</td><td>45,000</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">行方向に拡張する</span></h3>



<p class="wp-block-paragraph">3行のデータ部分を8行に拡張してみましょう。出力先のセル（たとえばE1）に以下の数式を入力します。</p>



<pre class="wp-block-code"><code>=EXPAND(A1:C4, 8, 3, &quot;&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>E</th><th>F</th><th>G</th></tr></thead><tbody><tr><td>1</td><td>担当者</td><td>商品</td><td>売上</td></tr><tr><td>2</td><td>佐藤</td><td>商品A</td><td>50,000</td></tr><tr><td>3</td><td>田中</td><td>商品B</td><td>30,000</td></tr><tr><td>4</td><td>鈴木</td><td>商品C</td><td>45,000</td></tr><tr><td>5</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>6</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>7</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>8</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">元の4行3列を8行3列に拡張しました。5行目以降は空白で埋められています。pad_withに&#8221;&#8221;を指定したので、見た目はスッキリですね。</p>



<h3 class="wp-block-heading"><span id="toc6">行と列の両方向に拡張する</span></h3>



<p class="wp-block-paragraph">行と列を同時に拡張することもできます。A1:C4（4行3列）を6行5列にしてみましょう。</p>



<pre class="wp-block-code"><code>=EXPAND(A1:C4, 6, 5, 0)</code></pre>



<p class="wp-block-paragraph">元のデータの右側と下側に、0で埋められたセルが追加されます。pad_withに0を指定したので、拡張部分にはすべて0が入ります。</p>



<h3 class="wp-block-heading"><span id="toc7">列方向だけ拡張する</span></h3>



<p class="wp-block-paragraph">列方向だけ拡張したい場合は、行の引数に元の行数をそのまま指定します。</p>



<pre class="wp-block-code"><code>=EXPAND(A1:C4, 4, 6, &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">行数は4のまま変えず、列数だけ3列から6列に拡張しています。</p>



<h3 class="wp-block-heading"><span id="toc8">pad_withの指定による違い</span></h3>



<p class="wp-block-paragraph">pad_with引数の設定で、拡張部分の表示が変わります。</p>



<figure class="wp-block-table"><table><thead><tr><th>pad_withの指定</th><th>拡張部分の表示</th><th>備考</th></tr></thead><tbody><tr><td>省略</td><td>#N/A</td><td>エラー値として扱われる</td></tr><tr><td>&#8220;&#8221;</td><td>空白表示</td><td>空文字列（ISBLANKはFALSE）</td></tr><tr><td>0</td><td>0</td><td>数値のゼロとして扱われる</td></tr><tr><td>&#8220;-&#8220;</td><td>&#8211;</td><td>テキストとして表示される</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">pad_withを省略すると、拡張部分の#N/Aが他の数式にも連鎖します。特別な理由がなければ&#8221;&#8221;か0を指定してください。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>pad_withに&#8221;&#8221;を指定したセルは見た目は空白ですが、空文字列が入っています。ISBLANK関数で判定するとFALSEが返る点に注意してくださいね。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc10">パターン1: FILTER結果を固定サイズに揃える</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>の結果は、条件に合うデータの件数で行数が変わります。複数のFILTER結果を横に並べると行数がバラバラでレイアウトが崩れがちです。</p>



<p class="wp-block-paragraph">EXPAND関数で結果を固定サイズに揃えましょう。</p>



<pre class="wp-block-code"><code>=EXPAND(FILTER(A2:C100, B2:B100=&quot;営業部&quot;), 10, 3, &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">FILTER関数の結果をそのままEXPANDに渡して、10行3列に拡張しています。結果が3件でも8件でも、常に10行分の表示領域を確保できますよ。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン2: VSTACKで列数が異なるテーブルを結合する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-vstack-function/">VSTACK関数</a>で列数が異なるテーブルを縦結合すると、不足部分がエラーになることがあります。</p>



<p class="wp-block-paragraph">EXPAND関数で列数を揃えてから結合しましょう。</p>



<pre class="wp-block-code"><code>=VSTACK(EXPAND(A1:B5, 5, 3, &quot;&quot;), D1:F5)</code></pre>



<p class="wp-block-paragraph">A1:B5（2列）を3列に拡張してからVSTACKで結合しています。不足部分が空白で埋まるので、きれいな一覧表が完成しますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン3: DROP + EXPANDでヘッダー除去とサイズ統一を同時に行う</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-drop-function/">DROP関数</a>で不要な行を削除してから、EXPAND関数でサイズを揃える2段階の整形パターンです。</p>



<pre class="wp-block-code"><code>=EXPAND(DROP(A1:D20, 1), 10, 4, &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">DROPで先頭1行（ヘッダー）を削除し、EXPANDで10行4列に揃えています。レポートの表サイズを統一したいときに便利です。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン4: HSTACKで行数が異なるテーブルを横結合する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-hstack-function/">HSTACK関数</a>で行数が異なるテーブルを横に結合するときも、EXPAND関数で行数を揃えてから結合できます。</p>



<pre class="wp-block-code"><code>=HSTACK(EXPAND(A1:B3, 5, 2, &quot;&quot;), EXPAND(D1:E5, 5, 2, &quot;&quot;))</code></pre>



<p class="wp-block-paragraph">どちらのテーブルも5行2列に揃えてからHSTACKで結合しています。行数の違いによるエラーを防げますよ。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン5: SEQUENCE + EXPANDで連番付きテンプレートを作る</span></h3>



<p class="wp-block-paragraph">SEQUENCE関数で連番を生成し、EXPAND関数で入力欄を確保するテクニックです。</p>



<pre class="wp-block-code"><code>=HSTACK(SEQUENCE(20), EXPAND({&quot;&quot;}, 20, 3, &quot;&quot;))</code></pre>



<p class="wp-block-paragraph">SEQUENCE(20)で1〜20の連番を生成し、空白を20行3列に拡張して入力欄を作成しています。<a href="https://mashukabu.com/spreadsheet-hstack-function/">HSTACK関数</a>で連番と入力欄を横に結合すれば、連番付きの空テンプレートが完成します。</p>



<h2 class="wp-block-heading"><span id="toc15">DROP・TAKE関数との違い・使い分け</span></h2>



<p class="wp-block-paragraph">EXPAND関数には、配列のサイズを変更する仲間としてDROP関数とTAKE関数があります。3つの関数を比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>EXPAND関数</th><th>DROP関数</th><th>TAKE関数</th></tr></thead><tbody><tr><td>機能</td><td>配列を<strong>拡大</strong>する</td><td>先頭/末尾を<strong>削除</strong>する</td><td>先頭/末尾を<strong>取り出す</strong></td></tr><tr><td>配列サイズ</td><td>大きくなる</td><td>小さくなる</td><td>小さくなる</td></tr><tr><td>引数の意味</td><td>拡張後の<strong>総行列数</strong></td><td>削除する<strong>行列数</strong></td><td>取得する<strong>行列数</strong></td></tr><tr><td>負の数の指定</td><td>不可（#VALUE!エラー）</td><td>可（末尾から削除）</td><td>可（末尾から取得）</td></tr><tr><td>pad_with引数</td><td>あり（拡張部分の値）</td><td>なし</td><td>なし</td></tr><tr><td>代表的な使い方</td><td>FILTER結果の固定サイズ化</td><td>ヘッダー行の除去</td><td>上位N件の取得</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">DROPとTAKEは配列を縮小する関数ですが、アプローチが逆です。DROPは「不要な部分を捨てる」、TAKEは「必要な部分だけ取る」です。EXPANDはこの2つとは方向が逆で、配列を大きくする関数です。</p>



<p class="wp-block-paragraph">使い分けの目安は次のとおりです。</p>



<ul class="wp-block-list"><li><strong>結果のサイズを統一したい</strong> → EXPAND関数（不足分を埋めて整形）</li><li><strong>ヘッダー行や合計行を除外したい</strong> → <a href="https://mashukabu.com/spreadsheet-drop-function/">DROP関数</a>（「不要な行を消す」が直感的）</li><li><strong>上位N件だけ取り出したい</strong> → TAKE関数（「N件取る」が直感的）</li><li><strong>ヘッダー除去してからサイズを揃えたい</strong> → DROP + EXPANDの組み合わせ</li></ul>



<p class="wp-block-paragraph">迷ったときは「配列を大きくしたい？ 小さくしたい？」と考えてみてください。大きくするならEXPAND、小さくするならDROPかTAKEです。</p>



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



<p class="wp-block-paragraph">EXPAND関数で発生するエラーをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#VALUE!</code></td><td>元の配列より小さいサイズを指定した</td><td>元のサイズ以上の値を指定する。縮小は<a href="https://mashukabu.com/spreadsheet-drop-function/">DROP関数</a>を使う</td></tr><tr><td><code>#VALUE!</code></td><td>行・列に負の値や小数を指定した</td><td>正の整数のみ指定する</td></tr><tr><td><code>#N/A</code></td><td>pad_with引数を省略した</td><td>pad_withに&#8221;&#8221;や0を指定する</td></tr><tr><td><code>#REF!</code></td><td>出力先のセルに既にデータがある</td><td>出力先の範囲を空にする</td></tr><tr><td><code>#NAME?</code></td><td>関数名のスペルミス</td><td>「EXPAND」のスペルを確認する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に注意したいのが <code>#VALUE!</code> エラーです。EXPAND関数は拡大専用なので、元の配列より小さいサイズは指定できません。</p>



<pre class="wp-block-code"><code>=EXPAND(A1:C5, 3, 2, &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">A1:C5は5行3列です。3行2列にしようとすると#VALUE!エラーになります。縮小したい場合は<a href="https://mashukabu.com/spreadsheet-drop-function/">DROP関数</a>を使いましょう。</p>



<p class="wp-block-paragraph">もうひとつよくあるのが <code>#N/A</code> です。pad_with引数を省略すると拡張部分に#N/Aが表示されます。これは仕様どおりの動作ですが、他の数式にもエラーが連鎖します。pad_withに&#8221;&#8221;か0を指定しておくのがおすすめですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>IFERRORで#N/Aを処理する方法もありますが、他のエラーまで隠してしまいます。最初からpad_withを指定しておく方が安全です。</p></blockquote>



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



<p class="wp-block-paragraph">EXPAND関数は、配列を指定したサイズに拡張する関数です。FILTER関数やVSTACK関数と組み合わせると、サイズの異なる結果をきれいに揃えられます。</p>



<p class="wp-block-paragraph">この記事のポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>EXPAND関数は <code>=EXPAND(配列, 行, [列], [pad_with])</code> で、配列を拡張する</li><li>pad_with引数を省略すると拡張部分に#N/Aが表示される。&#8221;&#8221;や0を指定するのがおすすめ</li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>の結果を固定サイズに揃えたり、<a href="https://mashukabu.com/spreadsheet-vstack-function/">VSTACK関数</a>の結合前に列数を正規化したりできる</li><li>DROP関数は縮小、EXPAND関数は拡大で、方向が正反対のペア関数</li><li><a href="https://mashukabu.com/spreadsheet-drop-function/">DROP関数</a>でヘッダーを除去してからEXPANDでサイズを揃える組み合わせが便利</li><li>元の配列より小さいサイズを指定すると#VALUE!エラー。縮小にはDROP関数を使う</li></ul>



<p class="wp-block-paragraph">まずは <code>=EXPAND(A1:C4, 10, 3, "")</code> のように、表を固定サイズに揃えるところから試してみてください。<a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>や<a href="https://mashukabu.com/spreadsheet-vstack-function/">VSTACK関数</a>と組み合わせれば、配列操作がグッと効率的になりますよ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc18">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-expand/">ExcelのEXPAND関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-drop-function/">スプレッドシートのDROP関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-take-function/">スプレッドシートのTAKE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">スプレッドシートのFILTER関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-vstack-function/">スプレッドシートのVSTACK関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-hstack-function/">スプレッドシートのHSTACK関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">スプレッドシートのSORT関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-unique-function/">スプレッドシートのUNIQUE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-expand-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのTAKE関数の使い方｜行列を取得</title>
		<link>https://mashukabu.com/spreadsheet-take-function/</link>
					<comments>https://mashukabu.com/spreadsheet-take-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:29:56 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[DROP関数]]></category>
		<category><![CDATA[TAKE関数]]></category>
		<category><![CDATA[上位N件抽出]]></category>
		<category><![CDATA[動的配列関数]]></category>
		<category><![CDATA[行列を取得]]></category>
		<category><![CDATA[配列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4749</guid>

					<description><![CDATA[スプレッドシートのTAKE関数で配列から行・列を取り出す方法を解説。先頭・末尾の取得、SORT/FILTER/UNIQUEと組み合わせた上位N件抽出、DROP関数との違いと使い分け、#CALC!エラーの回避まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで売上データから上位3件だけを取り出したいこと、ありますよね。SORT関数で並べ替えたあと、手作業で範囲を選び直すのは地味に面倒です。</p>



<p class="wp-block-paragraph">TAKE関数を使えば、配列の先頭や末尾から指定した数の行・列をサッと取り出せます。元データはそのまま残り、データが更新されれば結果も自動で追従するので安心です。</p>



<p class="wp-block-paragraph">この記事では、TAKE関数の基本的な使い方から、SORT・FILTER・UNIQUE・VSTACKとの組み合わせ、DROP関数との違い・使い分け、<code>#CALC!</code>エラーの回避まで実例付きで解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのTAKE関数とは？</a><ol><li><a href="#toc2" tabindex="0">TAKE関数の基本構文</a></li><li><a href="#toc3" tabindex="0">TAKE関数が向いている場面</a></li></ol></li><li><a href="#toc4" tabindex="0">TAKE関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">サンプルデータ</a></li><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">TAKE関数の実務活用パターン</a><ol><li><a href="#toc11" tabindex="0">パターン1: SORT結果から上位N件を取り出す</a></li><li><a href="#toc12" tabindex="0">パターン2: UNIQUE結果から先頭だけ取り出す</a></li><li><a href="#toc13" tabindex="0">パターン3: FILTER結果から上位N件を抽出する</a></li><li><a href="#toc14" tabindex="0">パターン4: DROP + TAKEで中間のデータだけ抽出する</a></li><li><a href="#toc15" tabindex="0">パターン5: ヘッダー行だけを取り出してテンプレートにする</a></li><li><a href="#toc16" tabindex="0">パターン6: VSTACK結合後の先頭サマリーを切り出す</a></li></ol></li><li><a href="#toc17" tabindex="0">DROP関数との違い・使い分け</a><ol><li><a href="#toc18" tabindex="0">TAKEとDROPは補集合の関係</a></li><li><a href="#toc19" tabindex="0">使い分けの目安</a></li></ol></li><li><a href="#toc20" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc21" tabindex="0">#CALC! エラーの回避（ROWS関数で事前チェック）</a></li><li><a href="#toc22" tabindex="0">#VALUE! / #REF! / #NAME? の原因</a></li></ol></li><li><a href="#toc23" tabindex="0">TAKE関数のよくある質問（FAQ）</a><ol><li><a href="#toc24" tabindex="0">Excel 2019 や 2021 でも使えますか？</a></li><li><a href="#toc25" tabindex="0">ARRAYFORMULAで囲む必要はありますか？</a></li><li><a href="#toc26" tabindex="0">行数より多い数値を指定すると0や空白で返りますか？</a></li><li><a href="#toc27" tabindex="0">SORTNとTAKE、上位N件抽出はどちらが速いですか？</a></li><li><a href="#toc28" tabindex="0">出力範囲がスピルできない場合はどうすればいいですか？</a></li></ol></li><li><a href="#toc29" tabindex="0">まとめ</a><ol><li><a href="#toc30" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのTAKE関数とは？</span></h2>



<p class="wp-block-paragraph">TAKE関数（読み方: テイク関数）は、配列やセル範囲から<strong>先頭または末尾の行・列を取り出して</strong>返す動的配列関数です。「Take（取る・取得する）」が名前の由来ですよ。</p>



<p class="wp-block-paragraph">たとえば、10行のデータから先頭3行だけを取り出すことができます。元データと数式でつながっているため、元データが更新されれば結果も自動で反映されます。</p>



<p class="wp-block-paragraph">TAKE関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>配列の先頭からN行を取り出す（正の数を指定）</li><li>配列の末尾からN行を取り出す（負の数を指定）</li><li>列方向の取得もできる（第3引数を使用）</li><li>行と列を同時に取得することもできる</li><li>SORT・FILTER・UNIQUEなど他の動的配列関数と入れ子にして1つの数式で完結できる</li></ul>



<p class="wp-block-paragraph"><strong>NOTE</strong></p>



<p class="wp-block-paragraph">TAKE関数はGoogleスプレッドシート独自の関数ではなく、Excel for Microsoft 365 および Excel 2024 でも使用できます。ただし、Excel 2021・Excel 2019・Excel for Mac 2021 以前のバージョンでは未サポートのため、社内ファイル互換性が心配な場合は事前確認をおすすめします。</p>



<h3 class="wp-block-heading"><span id="toc2">TAKE関数の基本構文</span></h3>



<pre class="wp-block-code"><code>=TAKE(配列, 行数, [列数])</code></pre>



<p class="wp-block-paragraph">カッコの中に、対象の範囲と取得する行数・列数を指定します。</p>



<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></tbody></table></figure>



<p class="wp-block-paragraph">第2引数（行数）の符号で取得方向が決まります。正の数なら先頭から、負の数なら末尾から取得します。第3引数（列数）も同じルールです。行の取得をスキップして列だけ取得したい場合は、行数に0を指定してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc3">TAKE関数が向いている場面</span></h3>



<p class="wp-block-paragraph">TAKE関数は、こんな場面で特に効果を発揮します。</p>



<ul class="wp-block-list"><li><strong>上位N件のランキング表を作りたい</strong>: SORTで並べ替えた結果から先頭N行を取り出す</li><li><strong>直近のデータだけ確認したい</strong>: 時系列データから末尾N行を取り出す</li><li><strong>ヘッダー行だけテンプレートとして再利用したい</strong>: 先頭1行を取り出して別シートに展開する</li><li><strong>ページネーション風に特定範囲のレコードを抽出したい</strong>: DROPで先頭を削除しTAKEで続きを取り出す</li><li><strong>重複除去後の代表値を絞り込みたい</strong>: UNIQUEとセットでカテゴリ一覧の先頭を取り出す</li></ul>



<p class="wp-block-paragraph">「並べ替え後の絞り込み」を1つの数式で完結できるのが、TAKE関数の大きな魅力です。</p>



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



<p class="wp-block-paragraph">ここでは、売上データからTAKE関数で行や列を取り出す例を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc5">サンプルデータ</span></h3>



<p class="wp-block-paragraph">A1:D7に以下のデータが入っているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>1</td><td>日付</td><td>担当者</td><td>商品</td><td>売上</td></tr><tr><td>2</td><td>4/1</td><td>佐藤</td><td>商品A</td><td>50,000</td></tr><tr><td>3</td><td>4/2</td><td>田中</td><td>商品B</td><td>30,000</td></tr><tr><td>4</td><td>4/3</td><td>鈴木</td><td>商品C</td><td>45,000</td></tr><tr><td>5</td><td>4/4</td><td>高橋</td><td>商品A</td><td>60,000</td></tr><tr><td>6</td><td>4/5</td><td>伊藤</td><td>商品B</td><td>35,000</td></tr><tr><td>7</td><td>4/6</td><td>佐藤</td><td>商品C</td><td>55,000</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc6">先頭の行を取得する</span></h3>



<p class="wp-block-paragraph">先頭3行（ヘッダー含む）を取り出します。出力先のセル（たとえばF1）に以下の数式を入力して、Enterを押します。</p>



<pre class="wp-block-code"><code>=TAKE(A1:D7, 3)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th><th>H</th><th>I</th></tr></thead><tbody><tr><td>1</td><td>日付</td><td>担当者</td><td>商品</td><td>売上</td></tr><tr><td>2</td><td>4/1</td><td>佐藤</td><td>商品A</td><td>50,000</td></tr><tr><td>3</td><td>4/2</td><td>田中</td><td>商品B</td><td>30,000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">第2引数に「3」を指定したので、先頭3行が取り出されました。「1」にすればヘッダー行だけが返ります。</p>



<h3 class="wp-block-heading"><span id="toc7">末尾の行を取得する</span></h3>



<p class="wp-block-paragraph">末尾から取得するには、第2引数に負の数を指定します。</p>



<pre class="wp-block-code"><code>=TAKE(A1:D7, -2)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th><th>H</th><th>I</th></tr></thead><tbody><tr><td>1</td><td>4/5</td><td>伊藤</td><td>商品B</td><td>35,000</td></tr><tr><td>2</td><td>4/6</td><td>佐藤</td><td>商品C</td><td>55,000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「-2」を指定したので、末尾2行が取り出されました。直近のデータや最新ログだけを確認したいときに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc8">列を取得する</span></h3>



<p class="wp-block-paragraph">列方向の取得には第3引数を使います。行の取得をスキップするには、行数に0を指定します。</p>



<pre class="wp-block-code"><code>=TAKE(A1:D7, 0, 2)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th></tr></thead><tbody><tr><td>1</td><td>日付</td><td>担当者</td></tr><tr><td>2</td><td>4/1</td><td>佐藤</td></tr><tr><td>3</td><td>4/2</td><td>田中</td></tr><tr><td>4</td><td>4/3</td><td>鈴木</td></tr><tr><td>5</td><td>4/4</td><td>高橋</td></tr><tr><td>6</td><td>4/5</td><td>伊藤</td></tr><tr><td>7</td><td>4/6</td><td>佐藤</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">行数を0にして列数を2に指定したので、左端2列（日付・担当者）だけが取り出されました。右端から取得したい場合は「-2」のように負の数を使います。</p>



<h3 class="wp-block-heading"><span id="toc9">行と列を同時に取得する</span></h3>



<p class="wp-block-paragraph">行と列を同時に取得することもできます。</p>



<pre class="wp-block-code"><code>=TAKE(A1:D7, 3, 2)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th></tr></thead><tbody><tr><td>1</td><td>日付</td><td>担当者</td></tr><tr><td>2</td><td>4/1</td><td>佐藤</td></tr><tr><td>3</td><td>4/2</td><td>田中</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">先頭3行と左端2列を同時に取得します。ヘッダーと必要な列だけをまとめて取り出したいときに、1つの数式で済むので効率的ですよ。</p>



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



<p class="wp-block-paragraph">ここからは、実務で頻出する6つの組み合わせパターンを紹介します。コピペで使える形にしているので、ぜひ自分のデータに当てはめて試してみてください。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン1: SORT結果から上位N件を取り出す</span></h3>



<p class="wp-block-paragraph">売上データを降順に並べ替えて、上位3件だけを取り出します。</p>



<pre class="wp-block-code"><code>=TAKE(SORT(A2:D7, 4, FALSE), 3)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">スプレッドシートのSORT関数の使い方</a>で売上列（4列目）の降順に並べ替えたあと、TAKEで先頭3行を取り出しています。「並べ替えてから先頭を取る」という2ステップで考えるとわかりやすいです。</p>



<p class="wp-block-paragraph">これで売上トップ3ランキングが1つの数式で完成します。元データが更新されても、ランキングは自動で組み替わりますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン2: UNIQUE結果から先頭だけ取り出す</span></h3>



<p class="wp-block-paragraph">重複を除いた結果から、先頭の数件だけを取り出せます。</p>



<pre class="wp-block-code"><code>=TAKE(UNIQUE(B2:B7), 3)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-unique-function/">スプレッドシートのUNIQUE関数の使い方</a>で重複を除いた担当者名から、先頭3件だけを取得しています。カテゴリ一覧の代表サンプルや、ダッシュボードの上位カテゴリ表示などに便利です。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン3: FILTER結果から上位N件を抽出する</span></h3>



<p class="wp-block-paragraph">条件に合うデータの中から上位N件を取り出します。</p>



<pre class="wp-block-code"><code>=TAKE(SORT(FILTER(A2:D7, C2:C7=&quot;商品A&quot;), 4, FALSE), 2)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-filter-function/">スプレッドシートのFILTER関数の使い方</a>で「商品A」だけに絞り、SORT関数で売上降順に並べ替えています。TAKEで上位2件を取り出すことで、商品別売上トップ2のような条件付きランキングが作れますよ。</p>



<p class="wp-block-paragraph">「FILTERで絞る → SORTで並べ替える → TAKEで取り出す」の3ステップを覚えておくと、応用が利きます。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン4: DROP + TAKEで中間のデータだけ抽出する</span></h3>



<p class="wp-block-paragraph">先頭と末尾の両方を除外して、中間部分だけを取り出すことができます。</p>



<pre class="wp-block-code"><code>=TAKE(DROP(A2:D100, 10), 10)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-drop-function/">スプレッドシートのDROP関数の使い方</a>で先頭10行を削除したあと、TAKEで10行だけ取り出します。つまり11行目から20行目が返ります。ページネーションのように特定範囲のデータを取り出したいときに便利ですよ。</p>



<p class="wp-block-paragraph">「2ページ目を表示したい」「11位から20位までを表示したい」といった用途にぴったりです。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン5: ヘッダー行だけを取り出してテンプレートにする</span></h3>



<p class="wp-block-paragraph">表のヘッダー行だけを別のシートに取り出して、テンプレートとして再利用できます。</p>



<pre class="wp-block-code"><code>=TAKE(Sheet1!A1:D1, 1)</code></pre>



<p class="wp-block-paragraph">先頭1行だけを取得するので、ヘッダー構造がそのままコピーされます。元の表でヘッダーを修正すれば、テンプレートにも自動で反映されますよ。複数の集計シートでヘッダー名を統一したいときに重宝します。</p>



<h3 class="wp-block-heading"><span id="toc16">パターン6: VSTACK結合後の先頭サマリーを切り出す</span></h3>



<p class="wp-block-paragraph">複数シートの売上データを縦結合してから、先頭のサマリー部分だけを取り出すこともできます。</p>



<pre class="wp-block-code"><code>=TAKE(VSTACK(Sheet1!A2:D7, Sheet2!A2:D7), 5)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-vstack-function/">スプレッドシートのVSTACK関数の使い方</a>で2つのシートのデータを縦に結合し、TAKEで先頭5行だけを表示しています。複数シートをまたいだ全社ランキングの上位だけを切り出す、といった用途で効きます。</p>



<p class="wp-block-paragraph">SORT・FILTER・UNIQUE・VSTACK・DROPなど、配列を返す関数なら何でもTAKEの引数にできるのが強みです。</p>



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



<p class="wp-block-paragraph">TAKE関数には、ペアとなる<a href="https://mashukabu.com/spreadsheet-drop-function/">スプレッドシートのDROP関数の使い方</a>があります。どちらも配列のサイズを縮小する関数ですが、アプローチが正反対です。</p>



<h3 class="wp-block-heading"><span id="toc18">TAKEとDROPは補集合の関係</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>TAKE関数</th><th>DROP関数</th></tr></thead><tbody><tr><td>動作</td><td>指定した行・列を<strong>取り出して</strong>返す</td><td>指定した行・列を<strong>削除</strong>して残りを返す</td></tr><tr><td>構文</td><td><code>=TAKE(配列, 行数, [列数])</code></td><td><code>=DROP(配列, 行数, [列数])</code></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>指定した部分<strong>だけ</strong></td><td>指定した部分を<strong>除いた</strong>残り</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">同じデータに対して、TAKEとDROPの結果を比べてみましょう。</p>



<pre class="wp-block-code"><code>=TAKE(A1:A10, 3)   → 1行目〜3行目が返る（先頭3行を取得）
=DROP(A1:A10, 3)   → 4行目〜10行目が返る（先頭3行を削除）</code></pre>



<p class="wp-block-paragraph">TAKEが返す部分とDROPが返す部分は、ちょうど補い合う関係です。元の配列をTAKEの結果とDROPの結果に分割しているイメージですね。<strong>「元配列 = TAKEの結果 + DROPの結果」</strong> と覚えておくと迷いません。</p>



<h3 class="wp-block-heading"><span id="toc19">使い分けの目安</span></h3>



<p class="wp-block-paragraph">使い分けの目安は次のとおりです。</p>



<ul class="wp-block-list"><li><strong>上位N件だけ取り出したい</strong> → TAKE関数（「N件取る」が直感的）</li><li><strong>ヘッダー行や合計行を除外したい</strong> → <a href="https://mashukabu.com/spreadsheet-drop-function/">DROP関数</a>（「不要な行を消す」が直感的）</li><li><strong>中間レコードの抽出</strong> → DROP + TAKEの組み合わせ</li><li><strong>配列を逆に拡張したい</strong> → <a href="https://mashukabu.com/spreadsheet-expand-function/">スプレッドシートのEXPAND関数の使い方</a>（TAKEと反対の操作）</li></ul>



<p class="wp-block-paragraph">迷ったときは「自分がやりたい操作は取る？消す？」と考えてみてください。意図が伝わりやすい方を選ぶと、数式が読みやすくなりますよ。</p>



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



<p class="wp-block-paragraph">TAKE関数はシンプルですが、取得する行数の指定を間違えるとエラーになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#CALC!</code></td><td>取得する行数が配列の行数を超えた</td><td>取得行数を配列の行数以下にする</td></tr><tr><td><code>#VALUE!</code></td><td>行数・列数に数値以外（文字列など）を指定した</td><td>引数が数値になっているか確認する</td></tr><tr><td><code>#REF!</code></td><td>出力先のセルに既にデータがある</td><td>出力先の範囲を空にする</td></tr><tr><td><code>#NAME?</code></td><td>関数名のスペルミス</td><td>「TAKE」のスペルを確認する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc21">#CALC! エラーの回避（ROWS関数で事前チェック）</span></h3>



<p class="wp-block-paragraph">特に注意したいのが <code>#CALC!</code> エラーです。たとえば5行しかないデータに <code>=TAKE(A1:A5, 10)</code> と指定すると、存在しない行を取得しようとしてエラーが発生します。</p>



<p class="wp-block-paragraph">取得前に行数を確認する方法で回避できます。</p>



<pre class="wp-block-code"><code>=IF(ROWS(A1:D10)&gt;=3, TAKE(A1:D10, 3), A1:D10)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-rows-function/">スプレッドシートのROWS関数の使い方</a>で行数を取得し、取得可能な場合だけTAKEを実行しています。データ量が変動するシートでは、この事前チェックを入れておくと安全です。</p>



<p class="wp-block-paragraph"><strong>TIP</strong></p>



<p class="wp-block-paragraph">IFERRORで囲む方法もありますが、他のエラーまで隠してしまう点に注意してください。原因を特定しやすくするには、IF+ROWSの組み合わせがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc22">#VALUE! / #REF! / #NAME? の原因</span></h3>



<ul class="wp-block-list"><li><code>#VALUE!</code>: 行数・列数に <code>"3"</code>（文字列）のように引用符で囲んだ値を入れているケースが多いです。引用符を外して数値で指定しましょう</li><li><code>#REF!</code>: TAKEの出力先に既存のデータや別の数式があると、スピルがブロックされます。出力先範囲を空にすればスピルが復活します</li><li><code>#NAME?</code>: <code>TKAE</code>のようなスペルミス、または旧バージョンExcelで開いている場合に発生します。Excel 2021以前ではTAKE自体が存在しません</li></ul>



<h2 class="wp-block-heading"><span id="toc23">TAKE関数のよくある質問（FAQ）</span></h2>



<h3 class="wp-block-heading"><span id="toc24">Excel 2019 や 2021 でも使えますか？</span></h3>



<p class="wp-block-paragraph">使えません。TAKE関数は Excel for Microsoft 365 と Excel 2024 でのみサポートされています。Excel 2021・Excel 2019・Excel for Mac 2021以前では <code>#NAME?</code> エラーになるので、互換性が必要なファイルでは利用を避けてください。Googleスプレッドシートでは2023年頃から全ユーザーが利用可能になっています。</p>



<h3 class="wp-block-heading"><span id="toc25">ARRAYFORMULAで囲む必要はありますか？</span></h3>



<p class="wp-block-paragraph">不要です。TAKEは元々配列を返す動的配列関数なので、出力先セルに自動でスピル展開されます。ARRAYFORMULAで囲んでも結果は同じですが、数式が冗長になるだけです。詳しくは<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a>を参照してください。</p>



<h3 class="wp-block-heading"><span id="toc26">行数より多い数値を指定すると0や空白で返りますか？</span></h3>



<p class="wp-block-paragraph">いいえ、<code>#CALC!</code> エラーが返ります。たとえば5行のデータに <code>=TAKE(A1:A5, 10)</code> を指定すると、配列の行数を超えるためエラーになります。IFとROWSを組み合わせた事前チェックで安全に回避できますよ。</p>



<h3 class="wp-block-heading"><span id="toc27">SORTNとTAKE、上位N件抽出はどちらが速いですか？</span></h3>



<p class="wp-block-paragraph">実用上、どちらも処理速度に大きな差はありません。SORTNは「並べ替え+上位N件」を1つの関数で完結できる専用関数ですが、TAKEはSORT・FILTER・UNIQUE・VSTACKなど他の動的配列関数とも自由に組み合わせられる汎用性が魅力です。条件付き抽出を1段かませたい場合はTAKEとSORT・FILTERの組み合わせが柔軟です。</p>



<h3 class="wp-block-heading"><span id="toc28">出力範囲がスピルできない場合はどうすればいいですか？</span></h3>



<p class="wp-block-paragraph">出力先のセル範囲に既存のデータや別の数式があるとスピルがブロックされ、<code>#REF!</code> エラーになります。対象範囲のセルを削除すればスピルが復活します。連続して数式を組む場合は、TAKEの出力サイズ（行数×列数）を事前に見積もって出力範囲を空けておきましょう。</p>



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



<p class="wp-block-paragraph">TAKE関数は、配列から指定した行・列を取り出して返す関数です。正の数で先頭から、負の数で末尾から取得できるシンプルな仕組みです。</p>



<p class="wp-block-paragraph">この記事のポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>TAKE関数は <code>=TAKE(配列, 行数, [列数])</code> で、先頭または末尾の行・列を取り出す</li><li>正の数で先頭から取得、負の数で末尾から取得。符号を変えるだけで方向が切り替わる</li><li>第3引数を指定すれば、列方向の取得や行と列の同時取得もできる</li><li><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a>・<a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>・<a href="https://mashukabu.com/spreadsheet-unique-function/">UNIQUE関数</a>・<a href="https://mashukabu.com/spreadsheet-vstack-function/">VSTACK関数</a>と組み合わせれば、上位N件抽出や条件付きランキングが1つの数式で完結する</li><li><a href="https://mashukabu.com/spreadsheet-drop-function/">DROP関数</a>はペア関数で、「指定した分だけ取り出す」のがTAKE、「削除して残す」のがDROP。元配列 = TAKEの結果 + DROPの結果</li><li>取得行数が配列の行数を超えると <code>#CALC!</code> エラー。<a href="https://mashukabu.com/spreadsheet-rows-function/">ROWS関数</a>で事前チェックすると安全</li><li>Excel 2021以前では未サポート。Microsoft 365 か Excel 2024 を使用する</li></ul>



<p class="wp-block-paragraph">まずは <code>=TAKE(A1:D10, 3)</code> の先頭3行取得から試してみてください。<a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a>や<a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>と組み合わせれば、ランキング表や条件付き抽出がグッと効率的になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc30">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-drop-function/">スプレッドシートのDROP関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-expand-function/">スプレッドシートのEXPAND関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">スプレッドシートのFILTER関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">スプレッドシートのSORT関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-unique-function/">スプレッドシートのUNIQUE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-vstack-function/">スプレッドシートのVSTACK関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-rows-function/">スプレッドシートのROWS関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-take-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
