Googleスプレッドシートで入力と同時に自動ソートする方法
Googleスプレッドシートで「入力した瞬間に自動で並び替え(ソート)を行う」には、標準機能(メニューボタンなど)だけでは実現できず、Google Apps Script (GAS) という簡単なプログラムを使う必要があります。
手順はとてもシンプルですので、以下のステップ通りに設定してみてください。
方法1:Google Apps Script (GAS) を使う
これが「入力と同時にそのシート自体を並び替える」唯一の方法です。
【注意】 この方法は入力したデータ自体の順番が勝手に入れ替わります。「入力順を残しておきたい」場合は、後述の「方法2」を使ってください。
手順
- スプレッドシートを開き、メニューの [拡張機能] > [Apps Script] をクリックします。
- コードの編集画面が開くので、元々入っている文字(
function myFunction...など)をすべて消し、以下のコードをコピーして貼り付けてください。
function onEdit(e) {
// 1. 設定:並び替えたいシート名を指定してください(例: "シート1")
const targetSheetName = "シート1";
const sheet = e.source.getActiveSheet();
const range = e.range;
// 2. 指定したシート、かつA列(1列目)が編集された時のみ実行
if (sheet.getName() === targetSheetName && range.getColumn() === 1) {
// 3. 2行目以降をA列(1列目)基準で昇順にソート(ヘッダー行を守るため)
// 降順にしたい場合は ascending: false にしてください
sheet.getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn())
.sort({column: 1, ascending: true});
}
}
- コード内の
"シート1"の部分を、実際に使っているシート名(画面下のタブの名前)に書き換えてください。 - フロッピーディスクのアイコン(保存)をクリックし、名前を適当に(例:
AutoSort)付けて保存します。 - スプレッドシートの画面に戻り、A列にデータを入力してみてください。自動で並び替われば成功です。


