【GAS36】セル更新時に自動的にソートする方法

基礎講座

GAS基礎講座一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

【GAS35】セルのコピーを高速化する方法
GASで一気にセルをコピペする方法がわかります。 GASで時間を計測する方法がわかります。

今回は、とっても価値の高い方法をお伝えします。


これを知ることであなたは、

  • GASでソート(並べ替え)する方法がわかります。
  • セルを更新時に関数を実行する方法がわかります。

なので、サクッとマスターして

と答えてあげてください。

 

動画はこちら

【GAS36】Googleスプレッドシートセル更新時に自動的にソートする方法

 

マインドセットします。

マインドセット
GASを使えばリアルタイムの更新対応ができる

OnEdit()を使用すれば、かなり動的な
ことが行なえます。

しかし影響範囲が広いので、使用する場合は、
がっちりフィルタリングしてください。

 

スクリプト

function autosort(e){
  const clm = e.range.getColumn()
  const row = e.range.getRow()

  const ss = e.source
  const sh = ss.getActiveSheet()
  const shName = sh.getSheetName()
  


  if(!(shName === 'ソートデータ' && clm === 6 && row >= 2)) return



  // const ss = SpreadsheetApp.getActiveSpreadsheet()
  // const sh = ss.getSheetByName('ソートデータ')
  
  const range = sh.getRange(2,1,sh.getLastRow(),6)

  range.sort({column: 6, ascending: false})

}

function onEdit(e){





  autosort(e)
}

 

シートはこちら

※クリックするとシートが開きます。

では、今回のGoogleシートマスターへの究極の方法です。

Step1.
動画で使用したシート(https://technical.verybestcbp.com/uht6)を開く

Step2.

自分の環境にコピーする

Step3.

スクリプトエディタを開く

Step4.

ソート関数を実装する

Step5.

OnEdit()を組み込んでみる

では、早速、動画で使用したシート(https://technical.verybestcbp.com/uht6)を
開いてください。

今すぐです。

最後までご覧いただきありがとうございます。

 

–2023年10月5日追記–

OnEdit()関数は、常に飛んできます。
しかしながら、上記のスクリプトだと毎回シートのチェックをしているのは
よろしくないですね。

一旦、カーソル位置をチェックし
その後、シート名のチェックを行うのがいいかと思います。

function autosort(e){
const clm = e.range.getColumn()
const row = e.range.getRow()


if(!(clm === 6 && row >= 2)) return

const ss = e.source
const sh = ss.getActiveSheet()
const shName = sh.getSheetName()

if(!(shName === 'ソートデータ' )) return

const range = sh.getRange(2,1,sh.getLastRow(),6)

range.sort({column: 6, ascending: false})

}

function onEdit(e){

autosort(e)
}

 

 

 

 

 

 

つぎはこちら

【GAS】セル更新時に自動的にソートする方法(複数のシート対応)
GAS セルを更新時にソート(並べ替え)する方法がわかります。

 

GAS基礎講座一覧

コメント

タイトルとURLをコピーしました