過去の記事で、TOROW関数・WRAPROWS関数などExcelの新関数を使って、結合されているデータをデータテーブルに変換する方法を紹介しました。
今回は、こちらも新しい関数である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つのデータテーブルに変換することができます。
コメント