関数のみで動かすのでOpenOffice Calc以外のエクセル系のソフトでも実行可能です。
特にマクロを使わないのでマクロ系機能の無いKingsoft Spreadsheetsでも利用できる方法です。
SMALL 昇順に並び替える
=SMALL(判定する範囲の開始位置のセル:判定する範囲の終了位置のセル;順位)
「判定する範囲の開始位置のセル」から「判定する範囲の終了位置のセル」の間にあるセルを調べます。
順位は1からの範囲内にあるセルの数までを入力します。
もしオーバーした場合は「エラー:502」と表示されます。
具体的には
=SMALL(A$1:A$65536;1)
これでA列全体から一番数字の小さい物が表示されます。
A列に順位、B列に並び替えられる数字、C列にSMALLで並び替えた結果を出力しました。
=SMALL(B$1:B$65536;A1)
これをC1に設置しオートフィルでC列に設置すれば素早く昇順に並び替えできます。
LARGE 降順に並び替える
=LARGE(判定する範囲の開始位置のセル:判定する範囲の終了位置のセル;順位)
こちらも「判定する範囲の開始位置のセル」から「判定する範囲の終了位置のセル」の間にあるセルを調べます。
順位は1からの範囲内にあるセルの数までを入力します。
もしオーバーした場合に、こちらも「エラー:502」と表示されます。
表記例として
=LARGE(A$1:A$65536;1)
このように入力するとA列全体から一番数字の大きい物が表示されます。
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)
のようにします。