ExcelのTAKE関数とDROP関数は、動的配列を扱う上で非常に強力なツールです。これらの関数を使えば、特定の範囲から必要な部分だけを効率的に抽出したり、不要な部分を除外したりできます。特に、大量のデータから一部だけを抜き出したい場合に、その真価を発揮します。この記事では、TAKE関数とDROP関数の基本的な使い方から、具体的な活用例までを解説します。
TAKE関数は配列の先頭から指定した行数または列数を取得し、DROP関数は配列の先頭から指定した行数または列数を除外した残りの部分を取得します。これらの関数を理解することで、Excelでのデータ操作が格段に効率化されるでしょう。
ADVERTISEMENT
目次
TAKE関数とDROP関数の概要と基本
TAKE関数とDROP関数は、Excelの動的配列機能に対応した新しい関数群の一つです。これらの関数は、配列(セル範囲や別の関数から返される結果)を基にして、その一部を新しい配列として返します。これにより、複雑な数式を簡潔に記述できるようになります。
TAKE関数は、指定した配列の先頭から、行数または列数で指定された要素を取り出します。DROP関数は、指定した配列の先頭から、行数または列数で指定された要素を除外した残りの要素を返します。どちらの関数も、Microsoft 365のExcelで利用可能です。それ以前のバージョンでは使用できない点に注意が必要です。
TAKE関数で配列の先頭N行を取り出す手順
TAKE関数は、配列の先頭から指定した行数や列数を抽出する際に使用します。基本的な構文は以下の通りです。
TAKE(配列, [行数], [列数])
- 配列: 行数または列数を取得したい配列を指定します。これはセル範囲や、他の動的配列関数(FILTER、SORTなど)の結果を指定できます。
- 行数: 取り出したい行数を指定します。正の数を指定すると先頭から、負の数を指定すると末尾から行を取得します。省略すると、配列のすべての行が取得されます。
- 列数: 取り出したい列数を指定します。正の数を指定すると先頭から、負の数を指定すると末尾から列を取得します。省略すると、配列のすべての列が取得されます。
例えば、A1セルからC10セルまでの範囲(配列)があり、その先頭から3行だけを取り出したい場合は、以下の数式を使用します。
=TAKE(A1:C10, 3)
この数式は、A1:C3の範囲の結果を返します。もし先頭から2列だけを取り出したい場合は、以下のように列数を指定します。
=TAKE(A1:C10, , 2)
この数式は、A1:B10の範囲の結果を返します。行数と列数の両方を指定することも可能です。
=TAKE(A1:C10, 3, 2)
この数式は、A1:B3の範囲の結果を返します。
DROP関数で配列の先頭N行を除外する手順
DROP関数は、配列の先頭から指定した行数や列数を除外した残りの部分を抽出する際に使用します。基本的な構文は以下の通りです。
DROP(配列, [行数], [列数])
- 配列: 除外する行数または列数を取得したい配列を指定します。
- 行数: 除外したい行数を指定します。正の数を指定すると先頭から、負の数を指定すると末尾から行を除外します。
- 列数: 除外したい列数を指定します。正の数を指定すると先頭から、負の数を指定すると末尾から列を除外します。
例えば、A1セルからC10セルまでの範囲(配列)があり、その先頭の2行を除外したい場合は、以下の数式を使用します。
=DROP(A1:C10, 2)
この数式は、A3:C10の範囲の結果を返します。もし先頭の1列を除外したい場合は、以下のように列数を指定します。
=DROP(A1:C10, , 1)
この数式は、B1:C10の範囲の結果を返します。行数と列数の両方を指定して除外することも可能です。
=DROP(A1:C10, 2, 1)
この数式は、B3:C10の範囲の結果を返します。
ADVERTISEMENT
TAKE関数とDROP関数を組み合わせた活用例
TAKE関数とDROP関数は、単独でも便利ですが、組み合わせて使用することでさらに高度なデータ操作が可能になります。例えば、データのヘッダー行を除外して集計したい場合や、特定の範囲だけを抽出して別の処理を行いたい場合などに役立ちます。
ヘッダー行を除外してデータ部分のみを取得する
データ範囲の先頭行がヘッダーであり、その行を除外してデータ部分のみを処理したい場合があります。このような場合、DROP関数を使用します。
例えば、A1:C10にデータがあり、A1がヘッダーだとします。データ部分のみを取得するには、以下の数式を使用します。
=DROP(A1:C10, 1)
これにより、A2:C10の範囲が返され、ヘッダー行が除外されます。
特定範囲のデータのみを抽出して集計する
TAKE関数とDROP関数を組み合わせることで、配列の中間部分を抽出することも可能です。例えば、A1:C20の範囲があり、5行目から10行目までのデータだけを取得したいとします。
まず、先頭から10行を取得します。
=TAKE(A1:C20, 10)
次に、この結果から先頭の4行を除外します(5行目から取得したいので、4行を除外します)。
=DROP(TAKE(A1:C20, 10), 4)
この数式により、A5:C10の範囲の結果が返されます。このように、TAKE関数で必要な範囲までを取得し、その結果に対してDROP関数で不要な部分を除外するという流れで、中間部分を抽出できます。
TAKE関数とDROP関数の注意点と制限事項
TAKE関数とDROP関数は非常に便利ですが、使用する上でいくつか注意すべき点があります。これらの制限事項を理解しておくことで、意図しない結果になることを防ぎ、より効果的に関数を活用できます。
Microsoft 365バージョンへの対応
TAKE関数とDROP関数は、Excelの動的配列機能に対応した比較的新しい関数です。そのため、Excel 2021以前のバージョンや、Officeの永続ライセンス版では利用できません。これらの関数を使用するには、Excel for Microsoft 365のサブスクリプションが必要です。
もし古いバージョンのExcelを使用している場合、これらの関数を入力してもエラーになるか、認識されません。互換性の観点から、共有するファイルがどのバージョンのExcelで開かれるかを考慮する必要があります。
配列のサイズとパフォーマンス
TAKE関数やDROP関数は、動的配列を扱います。非常に大きな配列に対してこれらの関数を適用すると、計算に時間がかかる場合があります。特に、ネストされた関数(TAKE関数やDROP関数の中にさらに別の動的配列関数が入っている場合)は、パフォーマンスに影響を与える可能性があります。
大量のデータを扱う場合は、数式の効率性を考慮することが重要です。必要以上に広い範囲を指定したり、無駄な計算を繰り返したりしないように注意しましょう。可能であれば、必要なデータ範囲をあらかじめ絞り込んでおくことが推奨されます。
行数・列数の指定方法
TAKE関数とDROP関数の引数である「行数」と「列数」は、配列のサイズを超えて指定することはできません。例えば、10行の配列に対して15行を指定しても、エラーにはなりませんが、単に10行すべてが返されるか、あるいはエラーとなる場合があります(Excelのバージョンや具体的な状況によります)。
また、行数と列数の両方を指定する場合、どちらかを省略するにはカンマを2つ連続して入力する必要があります。例えば、配列の先頭から3行、2列を取得したい場合は「=TAKE(配列, 3, 2)」ですが、先頭から3行のみを取得したい場合は「=TAKE(配列, 3, )」ではなく、「=TAKE(配列, 3)」のように列数を省略するか、「=TAKE(配列, 3, )」と入力します。後者の場合、Excelのバージョンによっては正しく動作しない可能性もあるため、意図した結果が得られない場合は、列数を明示的に指定しない、あるいは配列の列数に合わせて調整するなどの対応が必要です。
=TAKE(A1:C10, 3, ) <-- このようにカンマを2つ連続して入力
ただし、Excel for Microsoft 365では、列数を省略した場合(引数を指定しない場合)は配列の全列が対象となるため、通常は `TAKE(配列, 行数)` のように行数のみを指定すれば十分です。
まとめ
TAKE関数とDROP関数を習得することで、Excelでのデータ抽出・加工がより柔軟かつ効率的に行えるようになります。これらの関数は、動的配列の基本操作として、データ分析やレポート作成において強力な武器となります。Microsoft 365ユーザーであれば、ぜひ積極的に活用を検討してみてください。
今後は、FILTER関数やSORT関数といった他の動的配列関数と組み合わせて、さらに高度なデータ操作に挑戦することをお勧めします。例えば、条件に合致するデータだけを抽出し(FILTER)、その結果を並べ替えて(SORT)、さらに先頭の数件だけを表示する(TAKE)といった一連の操作が、簡潔な数式で実現可能です。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Outlook】「メール送信を5分遅らせる」設定!誤送信を防ぐ最強のディレイ機能
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
