這將做到這一點。您需要更改表單名稱和範圍以適合您的數據需求。它還創建了一個自定義菜單來運行它。你可以在表單提交上運行它。
function onOpen() {
SpreadsheetApp.getActiveSpreadsheet().addMenu(
'Fix Data', [
{ name: 'Fix', functionName: 'reArrange' },
]);
}
function reArrange() {
var ss=SpreadsheetApp.getActiveSpreadsheet()
var s=ss.getSheetByName("Sheet1")//get data sheet
var lr = s.getLastRow() //get last row with data
var lc = s.getLastColumn() //get last column with data
var s1=ss.getSheetByName("Sheet2")//sheet to write to
var rng = s.getRange(2, 2, lr-1,lc).getValues()
var newrng=[] //new array
for(var i=0;i<rng.length;i++){ //for each row in range
for(var j=1;j<rng[0].length;j++){ //for each column in range
if(rng[i][j]==""){break} //if column is blank break the J loop
newrng.push([rng[i][j],rng[i][0]]) //push values to new array
}}
s1.getRange(2, 1, newrng.length,newrng[0].length).setValues(newrng)//set values in sheet2
}
我已創建此附加組件,以幫助爲朋友重新安排Google表單數據。你可以試試[這裏:](https://chrome.google.com/webstore/detail/data-splitter/dhaihbfkhlfihidfdedfpaalhppaokbm?utm_source=permalink)。運行插件後,它將創建一個側欄,您可以在其中選擇要合併的列並將其組合成一行。 –