Скрипт, который выбирает случайное число из определенного диапазона в Google Sheets - PullRequest
0 голосов
/ 28 мая 2018

Я впервые использую JavaScript в Google Sheets, и я хочу иметь возможность получить число из заданного диапазона (например, если диапазон имеет значения 1, 7, 21, 41 и 52, сценарий долженвыберите любое из этих чисел).

Существует четыре возможных диапазона, основанных на значении конкретной ячейки («F3»).Например, если ячейка F3 = "CTA", тогда выберите число из Range1, но если ячейка F3 = "Предложение значения", то выберите случайное число из Range2.

Логическая последовательность будет:

function GenerateNumber() {
 if (F3 === "CTA") {
  Pick any number between Range(A1:A200)}
    else if (F3 === "Value Proposition") {
        Pick any number between Range(B1:B200) }
            else if (F3 === "Introduction") {
                Pick any number between Range(C1:C200) }
                    else if (F3 === "Benefit Statement") {
                        Pick any number between Range(D1:D200) }
                            else { "There is no data" } }

Надеюсь, мне было ясно.Не стесняйтесь спрашивать меня о дополнительной информации.

Заранее спасибо!

1 Ответ

0 голосов
/ 29 мая 2018

Следует рассмотреть возможность получения целого случайного числа с помощью метода random (), а затем использовать его для определения индекса строки, в которой вы собираете данные.Индекс столбца будет определяться оператором if-else.

Пожалуйста, обратите внимание на следующее:

function GenerateNumber() {
  var spreadsheet, sheet, DataNumber, Index
  
  // Reference to the spreadsheet
  spreadsheet = SpreadsheetApp.getActive()
  sheet = spreadsheet.getActiveSheet()
  
  // Defines the number of data in your range (based on your spreadsheet columns A, B and C)
  DataNumber = sheet.getLastRow()
  
  // Return a integer random number between 1 and the number of your data
  Index = Math.floor((Math.random() * DataNumber) + 1)

  if (sheet.getRange("E2").getValue() === "Case 1") {
    // Uses the integer random number to define the row where you want to extract the data
    // Reports the extracted data in F2 cell
    sheet.getRange("F2").setValue(sheet.getRange("A" + Index).getValue())  
    
  } else if (sheet.getRange("E2").getValue() === "Case 2") {
    
    sheet.getRange("F2").setValue(sheet.getRange("B" + Index).getValue())
    
  } else if (sheet.getRange("E2").getValue() === "Case 3") {
    
    sheet.getRange("F2").setValue(sheet.getRange("C" + Index).getValue())
    
  } else {
    
    sheet.getRange("F2").setValue("There is no data")
    
  }
}

Это скриншот моего файла электронной таблицы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...