OpenOffice Calcの関数のみでセルを並び替える方法

関数のみで動かすのでOpenOffice Calc以外のエクセル系のソフトでも実行可能です。
特にマクロを使わないのでマクロ系機能の無いKingsoft Spreadsheetsでも利用できる方法です。



SMALL 昇順に並び替える

=SMALL(判定する範囲の開始位置のセル:判定する範囲の終了位置のセル;順位)

「判定する範囲の開始位置のセル」から「判定する範囲の終了位置のセル」の間にあるセルを調べます。
順位は1からの範囲内にあるセルの数までを入力します。
もしオーバーした場合は「エラー:502」と表示されます。

具体的には

=SMALL(A$1:A$65536;1)

これでA列全体から一番数字の小さい物が表示されます。

office01
A列に順位、B列に並び替えられる数字、C列にSMALLで並び替えた結果を出力しました。

=SMALL(B$1:B$65536;A1)

これをC1に設置しオートフィルでC列に設置すれば素早く昇順に並び替えできます。

LARGE 降順に並び替える

=LARGE(判定する範囲の開始位置のセル:判定する範囲の終了位置のセル;順位)

こちらも「判定する範囲の開始位置のセル」から「判定する範囲の終了位置のセル」の間にあるセルを調べます。
順位は1からの範囲内にあるセルの数までを入力します。
もしオーバーした場合に、こちらも「エラー:502」と表示されます。

表記例として

=LARGE(A$1:A$65536;1)

このように入力するとA列全体から一番数字の大きい物が表示されます。

office02
A列に順位、B列に並び替えられる数字、C列にLARGEで並び替えた結果を出力しました。

=LARGE(B$1:B$65536;A1)

これをC1に設置しオートフィルでC列に設置すれば素早く降順に並び替えできます。

OpenOffice以外のエクセル系のソフトで動かすなら

「;」を「,」に置き換える必要があります。

=SMALL(判定する範囲の開始位置のセル:判定する範囲の終了位置のセル,順位)
=LARGE(判定する範囲の開始位置のセル:判定する範囲の終了位置のセル,順位)

このように成ります。

A列の1位を表示するようにするには

=SMALL(A$1:A$65536,1)
=LARGE(A$1:A$65536,1)

のようにします。

スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする

関連記事



スポンサーリンク