我遇到了一個我的大腦無法理解的問題。
我有一個我復制和修改的腳本,它將隨機選擇一個非空白的單元格重新分配!A1:A10
在重新分配選項卡中,我有一個查詢,如果勾選了復選框,它將過濾另一個作業表
所以在重新分配!A1:A10 這將取決于是否勾選了多少復選框
輸出是它只選擇第一個單元格 A1
腳本:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("reassign");
var range = sheet.getRange("A1:A10");
var values = range.getValues();
var newValue = "";
for(var i = 0; i < values.length; i ) {
if(values[i][0] != "") {
newValue = values[i][0];
break;
}
}
sheet.getRange("B2").setValue(newValue);
}
我的想法不多了。對不起
提前致謝
我嘗試研究解決方案,但我真的無法弄清楚。
uj5u.com熱心網友回復:
此腳本隨機選擇但有時會選擇空白單元格
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("reassign");
var range = sheet.getRange("A1:A10");
var values = range.getValues();
var newValue = values[Math.floor(Math.random()*values.length)][0];
sheet.getRange("B2").setValue(newValue);
}
uj5u.com熱心網友回復:
您提供的解釋對我來說根本不清楚。但也許這個小小的改變可能會有所作為。
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("reassign");
var range = sheet.getRange("A1:A10");
var values = range.getValues();
var newValue = "";
for(var i = 0; i < values.length; i ) {
if(values[i][0] !== "") {
newValue = values[i][0];
break;
}
}
sheet.getRange("B2").setValue(newValue);
}
隨機選擇非空白值:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("reassign");
var range = sheet.getRange("A1:A10");
var values = range.getValues().flat().filter(e => e);
sheet.getRange("B2").setValue(values[Math.floor(Math.random() * values.length)]);
}
uj5u.com熱心網友回復:
我現在不在電腦前,但你可以嘗試在 var newValue 之前添加這一行......:
values = values.filter(function (n) {return (n != "")})
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/535318.html
