はじめに
INDEX関数に最新バージョンのCHOOSEROWS関数とCHOOSECOLS関数をあわせたような使い方を発見しました
これらの関数が使えないEXCELのバージョンでは代用になるのではと思います
INDEX関数は何気に奥が深いです
過去に私が書いた記事も参考までに紹介しておきます
サンプル
やりたいことは、
ある範囲の特定の行と列の値を順番を自由に並び替えて抽出したい
このようにも書けます=INDEX(A1:E10, {2;4;6;8;10}, {5,3,1})
第2引数は;(セミコロン)で区切る(縦方向の配列にするため)
構文
=INDEX(A1:E10, 抽出行の配列, 抽出列の配列)
応用例
m行からn行分抽出するには
(CHOOSEROWS関数の代用)
=LET(
範囲,A1:E10,
m, 2,
n, 3,
INDEX(範囲,SEQUENCE(n,1,m),SEQUENCE(1,COLUMNS(範囲)))
)
奇数行だけ抽出するには
(CHOOSEROWS関数の代用)
=LET(
範囲,A1:E10,
INDEX(範囲,SEQUENCE(ROWS(範囲)/2,1,1,2),SEQUENCE(1,COLUMNS(範囲)))
)
特定の列だけ抽出するには
(CHOOSECOLS関数の代用)
=LET(
範囲,A1:E10,
INDEX(範囲, SEQUENCE(ROWS(範囲),1), {1,3,5})
)
他にも
特定の1行だけ抽出するには
=INDEX(A1:E10,3,0)
または
=INDEX(A1:E10,3,)
特定の1列だけ抽出するには
=INDEX(A1:E10,0,3)
または
=INDEX(A1:E10,,3)