如果標題與問題匹配,我正在努力使 Google 表格從單元格串列中更新相關的 Google 表單問題。代碼運行良好,但由于某種原因,當使用一組已知沒有重復的資料時,我繼續遇到錯誤,通過 =Unique() 運行它并使用 GSheets 中的重復洗掉資料工具。這是源資料的 GSheet 的鏈接。“房間號”資料集是在嘗試將其上傳到 Google 表單時引發錯誤的資料集,此處。我已經洗掉了匯入并更改了資料以保護隱私,但該資料/結構中仍會出現錯誤。感謝您提供的任何見解,我希望有更多經驗的人可以引導我朝著正確的方向前進。我是一個編碼新手,所以任何關于我做錯了什么的見解都會很棒。
var ssID = "1EoTHkLlqXuZ8wf-L2rEm1PQ6NUFkO_KTMu7BrzvN-30";
var formID = "1r-mcbZCd4EDHRC-8_gpOJZw8Oaj6IzekzNIxSegEwuA";
var wsData = SpreadsheetApp.openById(ssID).getSheetByName("QTR Inspection Data");
var form = FormApp.openById(formID);
function main(){
var labels = wsData.getRange(1,1,1,wsData.getLastColumn()).getValues()[0];
labels.forEach(function(label,i){
//Logger.log(label);
//Logger.log(i)
var options = wsData.getRange(2, i 1,wsData.getLastRow()-1,1).getValues().map(function(o){ return o[0] }).filter(function(o){ return o !== ""});
//Logger.log(options);
updateRoomNumberUsingTitle(label,options);
});
//Logger.log(labels);
}
function updateRoomNumberUsingTitle(title,values) {
var items = form.getItems();
var titles = items.map(function(item){
return item.getTitle();
});
var pos = titles.indexOf(title);
if(pos !== -1){
var item = items[pos];
var itemID = item.getId();
updateRoomNumber(itemID,values);
}
}
function updateRoomNumber(id,values) {
var item = form.getItemById(id);
item.asListItem().setChoiceValues(values);
}
uj5u.com熱心網友回復:
房間 #135 有 2 次出現!然后,您必須洗掉其中之一。
為了防止進一步發生,您可以更改此
updateRoomNumberUsingTitle(label, options.join().split(',').filter(onlyUnique));
并添加
function onlyUnique(value, index, self) {
return self.indexOf(value) === index;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/439997.html
