【Excel】表をデータテーブルに変換する / 新関数 CHOOSEROWS関数/CHOOSECOLS関数とは何か

Excel 基本動作

過去の記事で、TOROW関数・WRAPROWS関数などExcelの新関数を使って、結合されているデータをデータテーブルに変換する方法を紹介しました。

【Excel】新関数 TOROW関数/TOCOL関数とは何か
今回はExcelの新関数であるTOROW関数とTOCOL関数を紹介します。TOROW関数は、ある配列の値を1行に変換、TOCOLはある配列の値を1列に変換する関数です。プログラミング経験者の方々はpythonのflattenを思い出してもらうとイメージしやすいかもしれません。
【Excel】新関数 WRAPROWS関数/WRAPCOLS関数とは何か
WRAPROWS関数は、ある1行のデータを配列に変換、WRAPCOLS関数はある1列の配列に変換する関数です。pythonのreshapeを思い出してもらうとイメージしやすいかもしれません。

今回は、こちらも新しい関数であるCHOOSEROWS関数を使って、表をデータテーブルに変換する方法を紹介します。

具体的には以下のような作業です。

スポンサーリンク

CHOOSEROWS関数/CHOOSECOLS関数とは何か

関数の基本的な使い方

この二つの新しい関数は、文字通り、あるデータから複数の行や複数の列を抽出する関数です。

それぞれ、構文は以下の通りです。

CHOOSEROWS

=CHOOSEROWS(array,row_num1,[row_num2],…)

引数としては以下の通りです。

array(配列)    新しい配列で返される列を含む配列。 必ず指定します。

row_num1    返される最初の行番号。 必ず指定します。

[row_num2]    返される追加の行番号。 省略可能です。

CHOOSECOLS

=CHOOSECOLS(array,col_num1,[col_num2],…)

引数としては以下の通りです。

array(配列)       新しい配列で返される列を含む配列。 必ず指定します。

col_num1       返される最初の列。 必ず指定します。

col_num2      返される追加の列。 省略可能です。

ほとんど同じような使い方をすることがわかるかと思います。

CHOOSEROWS関数の具体例

では、具体的にどのような動作になるのか見てみましょう。今回は以下のテーブルを例に使います。

上の表から、1,3,5行目だけを指定して抜き出してみます。以下のようになります。

CHOOSECOLS関数の具体例

続いて同じ表から、1,4,列目だけを指定して抜き出してみます。以下のようになります。

さて、構文は理解できたと思いますが、これだけでは実務でどのように使うのかイメージできませんね。

これらの関数は、他の関数との組み合わせで威力を発揮します。

以下ではその一例として、表をデータテーブルに変換するという活用事例を紹介します。

スポンサーリンク

表をデータテーブルに変換する

冒頭の表に戻りましょう。この表は、ある項目名(品番・品名)の下にデータ(B-11,バナナ)があり、それが3列単位で縦に積み重なっています。実務ではこうした表を扱うことがよくあると思います。

ではこの表のデータを、以下のようにデータテーブルに変換するするにはどうしたらいいでしょうか。

今回はその実現方法として、以下のようにCHOOSEROWS関数とTOROW関数を組み合わせて使う方法を考えます。

画像では見えにくいかもしれませんが、以下のようなワークシート関数となっています。

=TOROW(CHOOSEROWS(B2:D7,2,4,6),1)

まずはCHOOSEROWS関数の部分に注目すると、以下のような実行結果になります。

これを書き下すと、表の2行目、4行目、6行目だけを抽出する、という内容、つまり項目名の行は含まず、データ部分だけを抽出するようになっています。

次に、TOROW関数を使って、これらを1行にまとめています。なお、赤字の引数”1″は、空白は無視するように、という指定です。

これを各行くり返すことで、複数の表を1つのデータテーブルに変換することができます。

コメント

タイトルとURLをコピーしました