選択した行範囲の順番を逆にするGoogle Apps Scriptです。ソートではなく、単純に順番を逆にします。関数の組み合わせでも実現できますが、GASを登録してしまったほうが早いかもしれません。
スプレッドシートで、行方向に逆順にしたい範囲を選択します。
A列とB列の範囲を選択してみます。
スクリプトを起動します。
メニューから「選択範囲の順番を逆にする(行のみ)」を実行します。
実行が完了すると、行の順番が逆になりました。
もし、2つ以上の範囲を選択すると「2つ以上の範囲を選択しないでください」というエラーメッセージが表示されます。
/**
* このスクリプトの説明、使い方はこちら。
* https://myfunc.jp/items/00007/index.html
*/
function onOpen() {
// スプレッドシートを開いたときに実行される関数
var ui = SpreadsheetApp.getUi()
// メニューの表示名
var menu = ui.createMenu('スクリプト実行');
// メニューに追加するボタン
menu.addItem('選択範囲の順番を逆にする(行のみ)', 'reverse_value_row');
// メニューを画面に追加する
menu.addToUi();
}
function reverse_value_row() {
// 現在選択されているセル(範囲)を取得
const range_list = SpreadsheetApp.getActiveRangeList().getRanges();
// このスクリプトでは1つの選択範囲のみを対象とする
if(range_list.length != 1){
Browser.msgBox('2つ以上の範囲を選択しないでください');
return;
}
// セル範囲の取得
const range = range_list[0];
// セル範囲の値を取得
const range_values = range.getValues();
// 行を逆順にする
const range_values_reverse = range_values.reverse();
// 逆にした値をスプレッドシートに書き込む
range.setValues(range_values_reverse);
}
選択した2つのセル(範囲)の値を、入れ替えるGoogle Apps Scriptです。行や列の入れ替えもできます。
選択した列範囲の順番を逆にするGoogle Apps Scriptです。行バージョンを作ったので、列バージョンも。ニーズはあるのでしょうか。
選択した行および列範囲の順番を逆にするGoogle Apps Scriptです。これは本当に使い所があるのかわかりませんが、作ってみたので公開します。
1つのセルに入力されている文字列を、指定した文字数で分割するGoogle Apps Scriptです。区切りに使用する文字が無くても大丈夫です。行方向に分割します。
1つのセルに入力されている文字列を、指定した文字数で分割するGoogle Apps Scriptです。区切りに使用する文字が無くても大丈夫です。列方向に分割します。
選択範囲に存在する結合されたセルを検索し、解除することもできるGoogle Apps Scriptです。予想外の結合によって困ったことがある方は多いと思います。このアプリが転ばぬ先の杖になれば幸いです。結合を解除するかどうかはダイアログで選択できます。
検索キーワードを全シートから探して、ヒットしたセル番地をまとめて表示するGoogle Apps Scriptです。標準の検索機能ではヒットしたセルが1個ずつ分かりますが、まとめて知りたくなったので作成しました。
選択範囲に改行が含まれているセルを検索し、削除することもできるGoogle Apps Scriptです。想定外の改行によって困ることが稀によくありますので作ってみました。改行を削除するかどうかはダイアログで選択できます。
1行ごとに任意の空白行を挿入してくれるGoogle Apps Scriptです。データを整理中に「今ある行の間に1行ずつ足したい・・・」ということが稀によくあるので作成しました。追加する行数はプロンプトで指定が可能です。