https://script.google.com/home/projects/1Np6F1VOgWiph580d3HJXPzlpqh2Ib8fmVULD9Vdys_hw29VYZ2HNAkOd/edit

// ランダムな4桁の数字を生成する
function getRandomNum() {

  // 0~9までの数字の配列 
  // 先頭に0が来て3桁にならないように、シート側も表示形式を設定
  var digits = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
  
  // 配列をランダムに並べ替える
  var shuffledDigits = shuffleArray(digits);
  
  // 最初の4つの数字を結合して4桁の数字を作成
  var random4Digits = shuffledDigits.slice(0, 4).join('');
  
  return random4Digits.toString();
}

// 配列をランダムに並び替える
function shuffleArray(digits) {
  
  if (!digits || !digits.length) {
    return digits; // 空の配列をそのまま返す
  }

  //Fisher-Yatesのシャッフルアルゴリズム
  for (var i = digits.length - 1; i > 0; i--) {
    var j = Math.floor(Math.random() * (i + 1));
    var temp = digits[i];
    digits[i] = digits[j];
    digits[j] = temp;
  }

  return digits;
}

// スプレッドシートにランダムな4桁の数字を書き込む
function writeRandomNumberToSheet() {

  //テンプレート
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  
  // シートのA1セルにランダムな4桁の数字を書き込む
  sheet.getRange('A1').setValue(getRandomNum());

  // 正解の数字を白で表示して隠す
  var range = sheet.getRange('A1'); // 非表示にしたいセルの範囲を指定
  range.setFontColor('#FFFFFF'); // フォント色を白に設定(背景色が白の場合)

}

// 正解の4桁の数を別のセルに1数字ずつ格納する
function correctNum() {

  // テンプレート
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  
  // A1セルの4桁の数字を取得
  var randomNumber = sheet.getRange('A1').getValue().toString();

  // 4桁の数字を配列に変換
  var digitsArray = randomNumber.split(''); // 文字列を1文字ずつ分解して配列にする

  // 分解した各数字をB8, C8, D8, E8に出力
  for (var i = 0; i < digitsArray.length; i++) {
    sheet.getRange(8, i + 2).setValue(digitsArray[i]); // 1行目のB列(2列目)からE列(5列目)に出力
  }

}