本日3つ目。スピル配列の最終行列の値を取得する方法についてです。
わかる人からすると、「こんなことくらい」なんでしょうけど、時々「検索結果」に出てくるんですよね、これ。
Ecxel2021以降、数式の結果はスピル(動的配列)で1セルからはみ出して表示されるようになりました。その結果を参照するスピル参照演算子も追加されています。
例えば A列の範囲から値のあるセルだけを抽出したとします。
値のあるセルだけを抽出B1:=FILTER(A:A,A:A<>"")
Excel2024以上なら TOCOL関数を使って「=TOCOL(A:A,1)」としてもいいです。上記の数式で B列にスピルで結果を抽出したものを、更に C列でスピル範囲演算子を使って参照することもできます。
スピル配列を更に参照C1:=B1#
このスピル配列の最終行/最終列の値を取得する場合は、INDEX関数もしくは TAKE関数を使います。
最終行の値を取得(Excel2021の場合)=INDEX(B1#,ROWS(B1#))
最終行の値を取得(Excel2024・Microsoft365の場合)=TAKE(B1#,-1)
列を参照する時は、「ROWS」が「COLUMNS」になります。TAKE関数の場合は第2引数省略で第3引数を「-1」にすればいいです。