要点 —
TAKEは配列の端から行や列を残し、DROPはそれらを取り除きます。構文は=TAKE(配列, 行, [列])と=DROP(配列, 行, [列])。正の数は上/左から、負の数は 下/右から働きます:TAKE(データ, 5)は最初の5行、TAKE(データ, -5)は最後の5行、DROP(データ, 1)は見出し行を外します。TAKEをSORTと 組めば、生きた「Top 10」が1つの数式に。Excel 365 / 2021 以降。
=TAKE(売上, 10) ' 最初の10行
=DROP(売上, 1) ' 見出し行を除く全部
「上位10件」や「見出し以外すべて」を出すのは、かつてはデータが変わると壊れる手作業の選択か、
INDEX・LARGE・ROW の絡み合いでした。TAKE と DROP は配列をその端から1つの引数で切り
出し、数式なので切り出しは生きたままです。
この記事でわかること
TAKE(N を残す)vsDROP(N を取り除く)——と正負の方向のコツTAKE(SORT(...))による生きた Top 10- 積み重ねた表の見出し行を
DROPで外す - 第3引数で行だけでなく列も切る
LARGE/SMALL/INDEXの曲芸を置き換える場面
考え方の軸:端からの切り出し
どちらも配列の端から働き、真ん中からは決して働きません。TAKE は切り出しを残し、DROP は
捨てます——補完関係です。数の符号が端を選びます:正は上(左)から、負は下(右)から。この1つの
ルールが「最初の N」「最後の N」「最初以外すべて」「最後以外すべて」を覆います。
=TAKE(データ, 3) ' 最初の3行
=TAKE(データ, -3) ' 最後の3行
=DROP(データ, 3) ' 最初の3行より後すべて
=DROP(データ, -3) ' 最後の3行を除く全部
すべての鍵となるルール:行が先、次に列、符号が端を選ぶ
第2引数は行、省略可能な第3引数は列です。第3を省くと行ごと切り、与えると列も切ります ——それぞれが自分の符号を取ります。
=TAKE(データ, 5, 2) ' 最初の5行 かつ 最初の2列
=TAKE(データ, -5) ' 最後の5行、全列
=DROP(データ, 0, -1) ' 全行、最後の列を外す(0行 = 行は切らない)
DROP(データ, 0, -1) は末尾の列を落とすきれいな書き方——0 行は「行は切らない」、-1 列は
「最後を外す」。行→列の順と符号のルールが入れば、どの端の切り出しも短い数式です。
生きた Top 10 — SORT を TAKE で囲む
この組み合わせが TAKE を不可欠にします。データを並べ替え、最初の N を取る——そして全体が
データの変化で再実行されるので、ランキングは常に最新です。
=TAKE(SORT(売上, 3, -1), 10) ' 最大の売上10件、生きている
=TAKE(SORT(売上, 3, -1), 10, 2) ' 上位10件、かつ最初の2列だけ
LARGE + INDEX + MATCH も、作業列も、手動の並べ替え直しも不要。この1つの式が、いまだに
フォーラムからコピーされる最も多い「ランキング」パターンを置き換えます。
積み重ねの見出しを外す
DROP は表を結合するときの VSTACK の相棒です。各ソースが見出し
行を持つので、最初以外を外すと結合した積み重ねがきれいに保たれます。
=VSTACK(Jan表, DROP(Feb表, 1), DROP(Mar表, 1)) ' 見出し1つ、全データ
=DROP(表全体, 1) ' 見出しだけ外す
DROP(範囲, 1) は先頭行、DROP(範囲, -1) は下の合計行を外します。こうして見出しのないきれいな
配列を SUM・FILTER・グラフに供給します。
判断:TAKE/DROP が旧来の曲芸を置き換えるとき
INDEX(SORT(...), SEQUENCE(10)) を書いたり、LARGE を ROW() と積んで上位 N を出している
なら、やめましょう——TAKE(SORT(...), 10) は直接そう言い、1行で読めます。「1行目以外すべて」を
手で選んでいるなら、DROP(データ, 1) で生きたものに。正直な例外:TAKE/DROP は端からしか
切らないので、「真ん中の20〜40行」は今も FILTER(条件付き)か INDEX が要ります。端の切り出し
とランキングなら TAKE と DROP の勝ちです。
ExcelMaster の使いどころ
これらの依頼の多くは、要するに「上位いくつかを最新で見せて」か「見出し/合計行なしのデータを
ちょうだい」です。ExcelMaster は生きたランキング用の TAKE(SORT(...))、
VSTACK の見出しを外す DROP を、上か下かの正しい符号と行→列の
順で書きます——すべて日本語の指示から。「売上の上位10件」と言えば、切り出しを組み立てます。
よくある質問
Excelで数式で上位N行を取得するには?
並べ替えてから取ります:=TAKE(SORT(データ, 3, -1), 10) は3列目が最大の10行を返し、データが
変わると更新されます。
数式で見出し行を取り除くには?
=DROP(データ, 1) を使います——1行目を外し、その下をすべてスピルします。下の合計行を外すなら
=DROP(データ, -1)。
TAKEとDROPの違いは?
TAKE は端から指定した行/列を残し、DROP はそれらを取り除きます。TAKE(データ, 5) は最初の
5行、DROP(データ, 5) は最初の5行を除く全部です。
TAKEで正と負の数はどう働く?
正の数は上(左)から、負の数は下(右)から。TAKE(データ, -5) は最後の5行を返し、
DROP(データ, -1) は最後の行を外します。
TAKEとDROPはExcel 2016や2019で使える?
使えません。TAKE と DROP は Excel 365 / 2021 以降が必要です。旧版では INDEX と
LARGE/SMALL、または作業列を使います。
検証環境
検証環境: Excel 365(Windows 11)— 最終確認 2026-06-17。
関連ガイド: ExcelのSEQUENCE関数 · ExcelのVSTACK・HSTACK関数 · ExcelのSORT関数 · ExcelのFILTER関数
