我想知道哪個 Google Apps 腳本函式可以幫助我將 Google 表格單元格值拆分為多個n部分(給定分隔符)并將整行復制為該拆分的不同事件。所以,fi,給定這張表:
| 姓名 | 國家 | 運動 |
|---|---|---|
| 約翰 | 美國 | 籃球_高爾夫_網球 |
| 瑪麗 | 加拿大 | 網球_高爾夫 |
所需的輸出應該是:
| 姓名 | 國家 | 運動 |
|---|---|---|
| 約翰 | 美國 | 籃球 |
| 約翰 | 美國 | 高爾夫球 |
| 約翰 | 美國 | 網球 |
| 瑪麗 | 加拿大 | 網球 |
| 瑪麗 | 加拿大 | 高爾夫球 |
在此示例中,分隔符是 char_
uj5u.com熱心網友回復:
您可能可以使用常規的電子表格公式來執行此操作(尋找來自
uj5u.com熱心網友回復:
看:
=INDEX(QUERY(SPLIT(FLATTEN(IF(IFERROR(SPLIT(C1:C, "_"))="",,
A1:A&"?"&B1:B&"?"&SPLIT(C1:C, "_"))), "?"), "where Col2 is not null", ))

uj5u.com熱心網友回復:
拆分列 3
function brkaprt() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName("Sheet0");
const osh = ss.getSheetByName("Sheet1");
osh.clearContents();
const vs = sh.getRange(2,1, sh.getLastRow() - 1, sh.getLastColumn()).getValues();
let obj = {pA:[]};
let o = vs.reduce((ac,[a,b,c],i) => {
c.split("_").forEach(e =>ac.push([a,b,e]) )
return ac;
},[]);
o.unshift(["Name","Country","Sport"]);
Logger.log(JSON.stringify(o));
osh.getRange(1,1,o.length,o[0].length).setValues(o);
}
Execution log
10:56:15 AM Notice Execution started
10:56:16 AM Info [["Name","Country","Sport"],["John","USA","Basketball"],["John","USA","Golf"],["John","USA","Tennis"],["Mary","Canada","Tennis"],["Mary","Canada","Golf"]]
10:56:17 AM Notice Execution completed
| 一個 | 乙 | C | |
|---|---|---|---|
| 1個 | 姓名 | 國家 | 運動 |
| 2個 | 約翰 | 美國 | 籃球 |
| 3個 | 約翰 | 美國 | 高爾夫球 |
| 4個 | 約翰 | 美國 | 網球 |
| 5個 | 瑪麗 | 加拿大 | 網球 |
| 6個 | 瑪麗 | 加拿大 | 高爾夫球 |
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/537861.html
標籤:谷歌应用脚本谷歌表格
