Googleスプレッドシートで表の中の奇数番目の行と偶数番目の表を入れ替える方法、言い換えれば2つの行の上下を入れ替え、その下の2つの行の上下を入れ替え…という作業を関数で行う例についてです。
- SORT関数とSEQUENCE関数を使って2行ずつ上下の行を入れ替えることができます。
手順
言葉で表すのが難しいですのでまずは結果を示します。
画像ではE3セルに式を入力することで、B3:C10に並んでいるデータの最初の2行(3行目と4行目)の上下を入れ替え、次の2行の上下を入れ替え…ということを行っています。
E3セルの式は次の通りです。
=SORT(B3:C10,ARRAYFORMULA(SEQUENCE(8)+IF(ISODD(SEQUENCE(8)),1,-1)),TRUE)
ちょっと長いですが「SEQUENCE(8)+IF(ISODD(SEQUENCE(8)),1,-1)」の部分により「2,1,4,3,6,5…」という数列を生成しています。「SEQUENCE(8)」は1,2,3,4,5,6…となりますし「IF(ISODD(SEQUENCE(8)),1,-1)」は1,-1,1,-1,1,-1…となるのでこれらを足すと2,1,4,3,6,5…となります。
あとはこれを並べ替えのキーにして表を並べ替えている、というわけです。
「SEQUENCE(8)」は本来「SEQUENCE(ROWS(B3:B10))」などとするところですが、省略して即値にしています。