今回はExcelの新関数であるWRAPROWS関数とWRAPCOLS関数を紹介します。
WRAPROWS関数は、ある1行のデータを配列に変換、WRAPCOLS関数はある1列の配列に変換する関数です。プログラミング経験者の方々はpythonのreshapeを思い出してもらうとイメージしやすいかもしれません。
また、同じく新しい関数であるTOROW関数・TOCOL関数の逆の操作をしている、とも理解できます。TOROW関数・TOCOL関数については以下を参照ください。
なお、WRAPROWS関数については既に過去の記事で実務で使えそうな例を示していますので、参照ください。
WRAPROWS関数の使い方
WRAPROWS関数の使い方は以下の通りです。
=WRAPROWS(vector, wrap_count, [pad_with])
Microsoftのページに記載されている引数(vector, wrap_countなど)の使い方は以下の通りです。
vector 折り返すベクトルまたは参照。
wrap_count 各行の値の最大数。
pad_with 埋め込む値。オプション。 既定値は #N/A です。
これだけだと理解できないと思うので、表を使って説明します。
まずvectorとwrap_countについてです。ここでvectorというのは、ある1列の塊もしくは行の塊です。データは列方向にあっても行方向にあっても同じ結果になります。
wrap_countについて、”各行の値の最大数”というのは、つまり第1引数のVectorの要素の数を”wrap_count”の引数の値で割った数が、”各行の値の最大数”になる、ということです。例えば以下の図のように、20個の値のベクトルをwrap_count=4で割ると、各行の値の最大数は5になります。
以下の実行結果を見た方がイメージしやすいでしょう。ワークシート関数の名前を逆になっていてわかりにくいですが、むしろ”wrap_count”は列数を指定していると理解したほうが腑に落ちやすいように見えます。
データは列方向に並んでいても、同じように使用できます。
続いて”pad_with”についてです。padというのは、”埋める”ということです。エラーが起きた時に何の値で埋めるかを指定できる引数です。上では、”#N/A”と表示されていますが、例えば以下のように空白で表示させることもできます。
スピル
なお、上で”AL22#”という範囲の指定をしていますが、この#はスピル演算子と呼ばれます。Vectorをスピル機能を使って生成しているので、Vectorを選択する時にスピル演算子を使っているのです。
詳細は以下を参照ください。
WRAPCOLS関数の使い方
WRAPCOLS関数の使い方は以下の通りです。
=WRAPCOLS(vector, wrap_count, [pad_with])
引数(vector, wrap_countなど)の使い方は、WRAPROWS関数の逆で、以下の通りです。Microsoftの説明はやはりわかりにくいですね。
vector 折り返すベクトルまたは参照。
wrap_count 各列の値の最大数。
pad_with 埋め込む値。オプション。 既定値は #N/A です。
例としては以下の通りです。
コメント