因为我使用Google表单来收集数据。数据源不是我想要的,所以我需要创建一个选项卡并转换数据。
以下是Google表格(从Google表格导出)
的示例Group Leader Groupmates
Leader 1 John Mary Linda
Leader 2 KK Johanna
Leader 3 Rick
我将名称网格转换为数组(下面的第一列)。我的问题是如何找到相应的领导者(下面第二栏)?
Groupmate Group Leader
John Leader 1
Mary Leader 1
Linda Leader 1
KK Leader 2
Johanna Leader 2
Rick Leader 3
非常感谢
答案 0 :(得分:0)
这样做。您需要更改工作表名称和范围以满足您的数据需求。它还会创建一个自定义菜单来运行它。您可以在表单提交上运行它。
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
}