wancoro blog

学んだことをアウトプットしていきたいと思います

GAS触ったこと無いマンが、GASでランダムに数字を出力する機能作ってみた

背景

毎日の定例で雑談枠を設けているのだが、雑談ネタ一覧スプレッドシートを用意しておき、雑談ネタに困った時にそこからピックアップするようにした。

参考記事

www.m3tech.blog

その日のネタをランダムに選択するために、GASでランダムに数字を出力する機能を作ってみた。

やりたいこと

  • ボタンをクリックするとランダムで1つの数字を出力する
  • 出力された数字の行に自動的に移動してくれると嬉しい

作成物

function myFunction() {
  const spreadSheet = SpreadsheetApp.getActiveSheet();

  // 見出しを除いた最小値
  const minLength = 2;

  // ネタ数
  const maxLength = spreadSheet.getLastRow();

  // ランダムに数を生成
  const num = Math.floor(Math.random() * (maxLength + 1 - minLength)) + minLength;

  // D1に結果を出力
  spreadSheet.getRange(1, 4).setValue(num);

  // 結果で出力されたセルをアクティブにする
  const sell = spreadSheet.getRange(num, 1);
  spreadSheet.setActiveRange(sell);
}

こんな感じで、ボタンを押すとD1セルに数字が表示されるようになった。(デザインセンスが糞)

f:id:wancoromochi:20210401181134p:plain

参考にした記事

感想

すごく簡単にマクロ的なものが使える。
Javascriptで書けるので、結構いろんな処理ができるのかなーと予想。
もっといろいろ書いていきたい。