这是我第一次在Google表格上使用JavaScript,我希望能够从给定范围中获取数字(例如,如果范围的值为1,7,21,41和52,则脚本必须选择这些数字中的任何一个。)
基于特定细胞的值,有四种可能的范围(" F3")。例如,如果单元格F3 =" CTA"然后从Range1中选择一个数字,但如果单元格F3 =" Value Proposition&#34 ;,则从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" } }
我希望我很清楚。不要犹豫,向我询问更多信息。
提前致谢!
答案 0 :(得分:0)
您应该考虑使用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")
}
}