MCPで接続 →

計算を入力してください

1行につき1レコードずつ入力してください。列はカンマまたはタブで区切ります。セルには数値・文字のどちらも使えます。

1始まりの列番号です。0を入力すると、並べ替えの代わりに行合計列を追加します。

公式

広告

結果

並べ替え後の表
Alice, 80, 30 Bob, 95, 22 Carol, 88, 41
行数 3
列数 3
モード sorted

このツールでできること

表のソートツールは、貼り付けた表の行を、選んだ1つの列をキーとして並べ替えます。特定の国や制度に依存しない、汎用的なデータ処理ツールです。1行に1レコードずつ入力(または貼り付け)し、列はカンマまたはタブで区切ります。並べ替えたい列の番号と順序を指定するだけで、行を並べ替えた表が出力されます。各行は他の列もまとめて移動するため、データの対応関係は崩れません。

選択した列で並べ替えられる表
選択した1つの列をソートキーとして行が並べ替えられます。

使い方

テキストボックスに、1行につき1レコードずつ表を入力します。ソート対象の列番号には、並べ替えの基準にしたい列を1始まりの番号で指定します(先頭の列が1列目)。並び順は小さい順(昇順)大きい順(降順)から選びます。列番号に0を入力すると並べ替えは行わず、代わりに各行の数値セルを合計した「行合計列」が末尾に追加されます。昇順の並べ替えは次のように表されます。

$$\text{SortedTable} = \operatorname{sort}_{\;\uparrow}\Big(\text{Rows},\; \text{col} = \text{Column No.}\Big)$$

降順の場合は次のようになります。

$$\text{SortedTable} = \operatorname{sort}_{\;\downarrow}\Big(\text{Rows},\; \text{col} = \text{Column No.}\Big)$$

列番号に \(0\) を指定したときの行合計は次の式で求められます。

$$\text{Total}_{\text{row }i} = \sum_{j} \text{numeric cells}_{ij}\qquad(\text{Column No.} = 0)$$

並べ替えの仕組み

各行のソートキーは、\(c - 1\) 番目の位置にあるセルです(\(c\) は1始まりの列番号のため)。セルが数値として認識できる場合は数値として比較し、そうでない場合は文字列として比較します。数値と文字が混在する列では、数値が文字の前に配置されます。並べ替えには安定ソートを用いるため、同じキーを持つ行は元の順序を保ちます。空欄のセルは最小値として扱われ、昇順では先頭に来ます。

同じキーの元の順序を保つ安定ソート
安定ソートは、同じキー値を持つ行の元の順序を保ちます。

具体例

「名前・スコア・年齢」の3列からなる次の3行を例にします。
Alice, 80, 30
Bob, 95, 22
Carol, 88, 41
2列目(スコア)を基準に昇順で並べ替えると、キーは \(80, 88, 95\) となり、出力は次のようになります。
Alice, 80, 30
Carol, 88, 41
Bob, 95, 22
降順に切り替えると順序が反転し、Bob・Carol・Alice の並びになります。

よくある質問

数値と文字が混在する列はどうなりますか? 数値セルは数値として並べ替えられ、文字セルより前に配置されます。文字セルはそのあとにアルファベット順(文字コード順)で並びます。

列数を超える列番号を指定するとどうなりますか? 列番号が実際の列数より大きい場合、表はそのまま変更されずに返されます。

重複した値は正しく処理されますか? はい。安定ソートにより、同じキーを持つ行同士の元の相対順序はそのまま保たれます。

最終更新: