この記事について
この記事は、生成AIを活用した自動生成フローで作成しています。Microsoft公式のTAKE・DROP・CHOOSECOLS仕様を確認し、同じ小さな表から「取る」「除く」「列を選ぶ」の違いを安全に観察できる形へ整理しています。検証ステータス:📘 Microsoft公式仕様確認済み・Excel実機未確認
情報確認基準日:2026年10月5日
Excelの表から「先頭2行だけ」「末尾1行を除く」「1列目と3列目だけ」といった切り出しをしたいとき、元データを削除せず別の場所へ結果を出せるのが TAKE、DROP、CHOOSECOLS です。
3つは似ていますが、役割は違います。
| 関数 | 何を指定するか | 向く用途 |
|---|---|---|
| TAKE | 何行・何列を取るか | 先頭N件、末尾N件 |
| DROP | 何行・何列を除くか | ヘッダー除外、末尾除外 |
| CHOOSECOLS | 何列目を残すか | 必要な列だけ抜き出す |
同じ表で3つを試す
A1:C4へ次のダミーデータを入れます。
| 名前 | 部署 | 売上 |
|---|---|---|
| 青木 | 営業 | 120 |
| 伊藤 | 総務 | 80 |
| 佐藤 | 営業 | 150 |
まず、別の空いているセルへ次を入力します。
=TAKE(A1:C4,2)
先頭2行が新しい配列として返ります。元表は消えません。
次に負数へ変えます。
=TAKE(A1:C4,-2)
Microsoft公式仕様では、TAKEの行数や列数へ負数を指定すると配列の末尾側から取得します。
DROPは「残す」ではなく「除く」
ヘッダー行を除いてデータ部分だけ返すなら、次のようにします。
=DROP(A1:C4,1)
先頭1行を除外します。
末尾1行を除外するなら負数です。
=DROP(A1:C4,-1)
TAKEとDROPを並べると違いが見えます。
flowchart LR
A["元の配列"] --> B["TAKE: 指定分を取る"]
A --> C["DROP: 指定分を除く"]
A --> D["CHOOSECOLS: 指定列を選ぶ"]
B --> E["新しい配列"]
C --> E
D --> E
CHOOSECOLSは列番号で選ぶ
名前と売上だけ欲しく、部署列を外したい場合です。
=CHOOSECOLS(A1:C4,1,3)
1列目と3列目が新しい配列として返ります。
「何列削除するか」ではなく、「何列目を返すか」を指定する点がDROPとの違いです。
1か所だけ変えてみる
=TAKE(A1:C4,2) の 2 を -2 に変えます。
ここで見るのは、正数と負数で基準位置が変わる点です。
同様にDROPでも、
=DROP(A1:C4,1) =DROP(A1:C4,-1)
を比較すると、先頭側と末尾側の違いを確認できます。
0を指定するとどうなる?
Microsoft Supportでは、TAKEまたはDROPの行数・列数へ0を指定し、空配列になる場合は #CALC! が返ると説明されています。
意図的に次を試します。
=TAKE(A1:C4,0)
Excel実機での結果を確認していないため、表示結果を「実測」とは扱いません。実際のブックで試し、現在利用中のExcelでどう表示されるか確認してください。
CHOOSECOLSでは、列番号の絶対値が0、または配列の列数を超える場合に #VALUE! になるとMicrosoftが案内しています。
実務ではどれを使う?
先頭10件だけ確認したい
=TAKE(A2:F100,10)
大量データの先頭だけ確認するときに使えます。
CSV取込後にヘッダーを外したい
=DROP(A1:F100,1)
「1行目を除いた残り」という考え方です。
帳票から必要列だけ抜きたい
=CHOOSECOLS(A1:F100,1,3,6)
列順を指定して別表を作れます。元表を直接削除しないため、確認用のビューを作る用途にも向きます。
スピル先を空けておく
これらは動的配列関数です。結果が複数セルへ広がるため、出力先に既存データがあると正常にスピルできません。
「数式が間違っている」と決めつける前に、結果が展開される範囲に値が残っていないかも確認します。
仕事で使うときの考え方
元データを直接削除・並べ替えせず、別領域で必要部分だけ切り出せるのが大きな利点です。
たとえば、
元CSVはそのまま保持
TAKEで先頭サンプルを確認
DROPでヘッダーを除外
CHOOSECOLSで必要列だけ抽出
という形にすると、「元データ」と「加工後」を分離できます。
ただし、列番号を固定したCHOOSECOLSは元データの列構成変更に影響されます。毎月届くファイルで列順が変わる場合は、Power Queryなど別の方法も検討します。
