Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
行・列を指定して新しい配列を作成するTAKE関数・DROP関数の使い方:Excel関数
Home »
エクセル関数一覧表 »
Excel関数の目次 »
行・列を指定して新しい配列を作成するTAKE関数・DROP関数の使い方
更新:2025/10/12;作成:2022/9/5
TAKE関数・DROP関数がExcel for Microsoft 365 で使用することができるようになりました。(2022/9/2に確認しました) Excel2024(2024/10/2から市販されました)でも使用できるようになりました。
TAKE関数の引数
この関数はCHOOSEROWS関数やCHOOSECOLS関数 と似ていますが、配列の頭や最終から行数や列数を指定する関数になっています。
関数の引数は現時点では英語表記になっています。
TAKE関数の引数
引数
意味
array
必須
セル範囲や配列
rows
必須
行数を指定する
columns
省略可
列数を指定する
TAKE関数で行数を指定する
B1:D5セルをテーブルに変換しています。テーブル名は 果物 です。
このテーブルのデータの先頭から2行を新たな配列として取り出します。
B8セルには =TAKE(果物,2 ) と入力しています。
テーブルでない場合(普通のセル範囲)
ここではExcel for Microsoft365で利用できるトリム参照 を使って説明します。
データリストはB:D列にあるので、前後の空白行を除くと B.:. D とトリム参照で書くことができます。
B2:D7セルを取り出せます。
タイトル行(見出し行)の先頭の行を除きたいので、のちほど説明するDROP関数 を使います。
DROP(B.:.D,1) とすると、B3:D7セルを取り出せます。
よって、=TAKE(DROP(B.:.D,1),2) とすることで、上記と同様のことができます。
TAKE関数で行数を負の値で指定する
指定する行番号を負の値で指定すると、データの後ろから行数を指定することができます。
=TAKE(果物,-2) と -2 を指定すると最終行から2行のデータが配列に作成されます。
最下行のデータを簡単に取り出せます。
=TAKE(果物,-1) とします。
テーブルでない場合(普通のセル範囲)
トリム参照を使った数式で、同じデータを取り出すことができます。
↓
データを追記しても、同じ数式でテーブルと同じように追記したデータを取り出すことができます。
↓
最下行のデータは =TAKE(B.:.D,-1) で取り出すことができます。
TAKE関数で列数を指定する
=TAKE(果物,,2 ) とすると、左端から2列のデータが配列に作成されます。
=TAKE(果物,,-2 ) とすると、右端から2列のデータが配列に作成されます。
TAKE関数で行数と列数を指定する
=TAKE(果物,2,2 ) とすると、先頭から2行と、左端から2列のデータが配列に作成されます。
時代は進化して・・・、GROUPBY関数がExcel for Microsoft365で使用できるようになりました。(記:2024/11/3)
すると、この関数だけで計算できてしまいます。 以下の1〜5の計算は不要なものとなります。
しかも、列のデータはSORTされます。
=GROUPBY(果物[[商品名]:[店名]],果物[数量],SUM)
列を入れ替えるのも簡単にできます。
=GROUPBY(CHOOSECOLS(果物[[商品名]:[店名]],2,1),果物[数量],SUM)
これらの関数の使い方はGROUPBY関数 、CHOOSECOLS関数 をご覧ください。
下表のデータをテーブル「Tbl_果物」に変換して、商品名と店名の重複しないデータを取り出します。
B
C
D
2
商品名
店名
数量
3
みかん
鹿児島店
671
4
りんご
霧島店
903
5
みかん
霧島店
835
6
みかん
指宿店
173
7
りんご
鹿児島店
471
8
りんご
霧島店
136
9
みかん
鹿児島店
775
10
りんご
指宿店
629
11
みかん
霧島店
417
12
みかん
鹿児島店
358
13
りんご
指宿店
360
14
りんご
鹿児島店
224
15
みかん
指宿店
579
16
りんご
鹿児島店
775
F3セルに =SORT(UNIQUE(Tbl_果物[[商品名]:[店名]]),2) と入力しています。
UNIQUE関数で商品名と店名の重複しない組み合わせ取り出し、SORT関数で店名順に並べ替えています。
この組み合わせの合計を計算します。
H3セルに =SUMIFS(果物[数量],果物[商品名],F3:F8 ,果物[店名],G3:G8 ) と入力すると計算することができます。
数式内に F3:F8,G3:G8 とセル範囲で入力していますので、ちょっとかっこが悪い・・・と思いませんか?
そこで、TAKE関数を使って、H3セルに
=SUMIFS(果物[数量],果物[商品名],TAKE(F3#,,1) ,果物[店名],TAKE(F3#,,-1) ) と入力します。
ちょっとかっこよく見えませんか?
この構造化参照の数式にすることで、見た目だけではなく、最終行以下に新たな組み合わせが出現しても、そのままの数式で計算ができるといったメリットもあります。
DROP関数の引数
この関数はCHOOSEROWS関数やCHOOSECOLS関数 と似ていますが、配列の頭や最終から行数や列数を指定する関数になっています。
関数の引数は現時点では英語表記になっています。
DROP関数の引数
引数
意味
array
必須
セル範囲や配列
rows
必須
行数を指定する
columns
省略可
列数を指定する
返す配列がない場合は、エラー #CALC! を返します。
DROP関数で行数を指定する
=DROP(果物,2) とすると、先頭から2行のデータを削除して、残りのデータで新たな配列を作成します。
DROP関数で行数を負の値で指定する
指定する行番号を負の値で指定すると、データの後ろから行や列を指定することができます。
=DROP(果物,-2) とすると、最終行から2行のデータを削除して、配列が作成されます。
DROP関数で列数を指定する
=DROP(果物,,2 ) とすると、左端から2列のデータが削除され、残りの列のデータが配列に入力されます。
DROP関数で行数と列数を指定する
=DROP(果物,2,2 ) とすると、先頭から2行と、左端から2列のデータが削除され、残りのデータが配列に入力されます。
スポンサードリンク
Home »
エクセル関数一覧表 » 行・列を指定して新しい配列を作成するTAKE関数・DROP関数の使い方
PageViewCounter
Since2006/2/27