【簡単】Googleスプレッドシートを入力した瞬間に自動並び替え(A列をソート)する設定方法

HP制作の小さなテクニック

Googleスプレッドシートで入力と同時に自動ソートする方法

Googleスプレッドシートで「入力した瞬間に自動で並び替え(ソート)を行う」には、標準機能(メニューボタンなど)だけでは実現できず、Google Apps Script (GAS) という簡単なプログラムを使う必要があります。

手順はとてもシンプルですので、以下のステップ通りに設定してみてください。

方法1:Google Apps Script (GAS) を使う

これが「入力と同時にそのシート自体を並び替える」唯一の方法です。

【注意】 この方法は入力したデータ自体の順番が勝手に入れ替わります。「入力順を残しておきたい」場合は、後述の「方法2」を使ってください。

手順

  1. スプレッドシートを開き、メニューの [拡張機能] > [Apps Script] をクリックします。
  2. コードの編集画面が開くので、元々入っている文字(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. コード内の "シート1" の部分を、実際に使っているシート名(画面下のタブの名前)に書き換えてください。
  2. フロッピーディスクのアイコン(保存)をクリックし、名前を適当に(例: AutoSort)付けて保存します。
  3. スプレッドシートの画面に戻り、A列にデータを入力してみてください。自動で並び替われば成功です。

東京本社

〒153-0063
東京都目黒区目黒2-14-13

一関営業所

〒021-0873
岩手県一関市台町7-15