我需要帮助,请在此处提供Google表格的脚本。我有一个zapier,它从系统中获取一些信息并将其粘贴到我的google上,问题是系统以诸如comas这样的逗号将信息作为字符串发送:andres,locuara @ gmail.com,Albania,crea loca,holatu @ gmail.com
所以我在Google工作表上使用公式SPLIT,该公式工作正常,但问题是每次zapier将信息发送到工作表时,我都不知道发生了什么,但是zapier从工作表中删除了公式,所以我需要去手动操作,然后再次执行公式以拆分信息并将其放置在需要的位置。因此,我想制作一个无法删除的脚本,并完成所有工作,因为它需要放在整张纸上。
我有这样的结构:
,我希望脚本在整个工作表中的每个单元格中自动完成工作。请有人可以帮助我解决这个问题。 ?非常感谢=)
答案 0 :(得分:1)
这应该可以解决问题。
打开工作表时,它将在Google工作表的命令标签栏中添加一个项目。然后只需按运行,然后等待即可。
function onOpen() {
// Try New Google Sheets method
try{
var ui = SpreadsheetApp.getUi();
ui.createMenu('Split cells')
.addItem('Run', 'main')
.addToUi();
}
// Log the error
catch (e){Logger.log(e)}
}
function main() {
var settings = {
dataCol: 3,
nameCol: 4,
/*
mailCol: 5,
teamCol: 6,
teamNameCol: 7,
contactCol: 8,
spreadsheet: {}
*/
}
settings.dataCol--;
settings.nameCol--;
/*
settings.mailCol--;
settings.teamCol--;
settings.teamNameCol--;
settings.contactCol--;
*/
settings.spreadsheet = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
for (var i = 1; i < settings.spreadsheet.length; i++) {
var arr = settings.spreadsheet[i][settings.dataCol].split(",");
for (var j = 0; j < arr.length; i++) {
settings.spreadsheet[i][settings.nameCol + j] = arr[j] ;
}
}
SpreadsheetApp.getActiveSheet().getDataRange().setValues(settings.spreadsheet);
}
答案 1 :(得分:0)
尝试arrayformula:
D2:
=ARRAYFORMULA(SPLIT(C2:INDEX(C:C,COUNTA(C:C)),","))