<?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>行列を取得 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%e8%a1%8c%e5%88%97%e3%82%92%e5%8f%96%e5%be%97/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</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>行列を取得 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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-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">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>
