TAKE関数は、検索/行列関数(配列操作関数)の一つです。セル範囲(配列)の先頭または末尾から、指定した行数と列数を取り出して新しい配列で返します。
2022年8月下旬のアップデートで新たに一般公開された14個の文字列・検索/行列関数のひとつです。(3月から「Office Insider Program」でテストされていたものが公開されたものです)
はじめに
TAKE関数は、セル範囲(配列)の先頭または末尾から指定する行数と列数を取り出しますが、反対の動作をするDROP関数も同時に公開されています。
TAKE関数の基本的な使い方について紹介していきます。
この関数を使用できるのは、サブスクリプション版の「Microsoft 365」アプリ「Excel for Microsoft 365」とWeb版だけですので注意してください。
関数の名前「TAKE」からすると「取る」動作の関数ということですね。
詳しく教えてください。よろしくお願いしますm(__)m
【この記事でわかることは】
・TAKE関数の使い方がわかります
TAKE 関数の構文
TAKE 関数入力時に表示される「数式オートコンプリート」から確認しましょう。
※ 対応していないExcelバージョンでは「オートコンプリート」にこの関数は表示されません。
※ リンクはこの関数の公式ヘルプの掲載場所です。
TAKE 関数の構文と引数
表示される引数の表示画像がこちらです。
=TAKE(array, rows, [columuns])
引数は英文表記ですが意味はわかります。整理すると次のような感じです。
引数 | 説明 |
---|---|
配列 array | セル範囲(配列)を指定【必須】 |
行 rows | 取得する行の数を指定【必須】 正数指定で先頭から負数指定で末尾から取得 |
[列] [columuns] | 取得する列の数を指定[省略可能] 正数指定で先頭から負数指定で末尾から取得 |
TAKE 関数の使用例
それでは実際に使ってみて確認することが大事ですので早速やってみましょう。
セル範囲から取得する行数と列数を指定
使用したデータは「日本百名山」のリストです。
TAKE関数を使って、次のように「日本百名山」の中から10件分のリストを取り出してみました。
セル範囲の途中を取り出したい場合
次は、セル範囲から「先頭および末尾から」指定部分を除外して途中を抜き出す場合の例です。
TAKE関数単独ではできませんが、DROP関数を併用することで途中の抜き出しができました。
・「H1」セルに入力した式は =TAKE(DROP(A1:F102,1,1),11,3) です。
・セル範囲は欄外も含めた100件全部の「A1:F102」です。
・内側のDROP関数は前の例と同じで、一番上の1行を行の引数「1」で除外しています。
後ろの2列「都道府県」と「登頂」を除外するので列の引数は「1」を指定しました。
・外側の引数は、セル範囲は「内側のDROP関数」で得られた配列(セル範囲)です。
行の引数は見出しを含め先頭から「11」取得、列の引数は先頭から「1」取得します。
・結果は画像のとおり指定した行と列が上下左右で除外されてスピル表示されました。
・DROP関数の結果をセル範囲の引数に使うことで「先頭および末尾から」除外できるということがわかりました。
※ 同時に公開された、反対の動作をするDROP関数については別の記事で解説しています。
まとめ(おわりに)
以上、TAKE 関数 について解説しました。
TAKE関数は、配列(セル範囲)から欲しい部分を取り出すことができますが、先頭または末尾から連続して取り出す必要があります。
希望通りの範囲を取得するには、あらかじめ対象とするのセル範囲の指定を先頭または末尾に合わせて指定する必要があります。2つ目の例では、中間部分を取り出すためDROP関数で要らない部分を先に削除してからTAKEする方法を紹介しました。他の関数と組み合わせて利用することで活用の幅が広がる一つの事例ですね。
TAKE関数で先頭または末尾から連続したデータを取り出せることがわかりました。
DROP関数のような不要部分の除外はできないこともわかりました。
どちらか一方の関数しか使えないなら、私は「DROP関数」のほうが汎用性が高い気がします。
関数をもっと組み合わせて使えるようにならないといけませんね(^^)
★★★ ブログランキング参加中! クリックしてね(^^)/ ★★★
【今後の記事について】
今回の記事はいかがだったでしょうか。皆さまのお役に立てたなら幸いです(^^;
「汎用でだれでも使えて活用できるように考えてる」というポリシーで、記事を継続して書いていきたいと思っています。どうぞよろしくお願いしますm(_ _)m
過去記事のサンプルファイルをダウンロードできます
この記事で使用したサンプルの登録はありません。
過去の記事で使用したサンプルファイルをダウンロードできるようにページを設置していますので、こちら(このリンク先)からご利用ください
・「H1」セルに入力した式は =TAKE(A2:F102,11,4) です。
・セル範囲は100件全部の「A2:F102」で範囲を設定しています。
1行目の欄外部分は、DROP関数と違い先頭を除外できないので範囲から外しています。
・見出し+10番目までのデータを取得したいので、行の引数は「11」を指定しました。
・列の引数は「4」と先頭から4列分を指定しています。
・結果は画像のとおり指定した行と列を取得してスピル表示されました。