【エクセル】関数でリスト、範囲を反転(逆さに)する方法

エクセル
この記事は約2分で読めます。
スポンサーリンク
スポンサーリンク

【エクセル】関数でリスト、範囲を反転する方法

エクセルで、指定した範囲を逆転させたいときがあると思いますが、

・並べ替えでもできないし、
・そんなコピペの方法もない。。

ということで、そんな時に使える数式のテクニックを紹介したいと思います!

数式紹介

数式は、
・INDEX
・COUNTA
・ROW
を組み合わせて、下記の式で作り上げることができます。

=INDEX(範囲,COUNTA(範囲)-ROW(範囲)-ROW())

この数式の仕組み

この数式は、主にINDEX関数を使っています。
INDEX関数は、特定の範囲の指定行、指定列のセルの値を参照できる関数で、

=INDEX(範囲,指定行,指定列)

のように使います。

今回、リストを反転させたいということは、
この指定行を[最終行,最終行-1,最終行-2,…2,1]
としてあげる必要があります。

その数式が、

COUNTA(範囲)+ ROW(範囲)- ROW()

の部分です。

・COUNTAで、リスト内の空白以外のアイテムの数をカウントし、最終行を取得。
・ROW(範囲)-ROW()で、[0,-1,-2,-3…-(最終行-1)]を作り出す。

この2つを足し合わせることで、
[最終行,(最終行-1),(最終行-2),…2,1]と最終行から1までの数字を
カウントダウンさせることができます。

他のパターン→ROWSを使用する方法

0から~(最終行-1)までをカウントできればいいので、

他のパターンとして、

=INDEX(範囲,COUNTA(範囲)-ROWS($範囲:範囲)+1)

という方法もあります。

理解しやすい方法を選んでいただければと思います。

コメント欄

タイトルとURLをコピーしました