2017-07-28 73 views
-7

我想創建一個已經參加了各種主題培訓的候選人名單。培訓師完成一個Google表格,並從複選框列表中選擇候選人,並從複選框列表中選擇培訓主題。結果是兩個逗號分隔的字符串,我想分成逐項陣列如下:將兩個以逗號分隔的字符串分解爲條目數組

原始形式響應

| Candidate   | Training     | 
+----------------------+-----------------------------+ 
| Peter, Susan, John | Algebra, Geometry, Calculus | 

希望的輸出:

| Candidate | Training | 
+--------------+------------+ 
| Peter  | Algebra | 
| Peter  | Geometry | 
| Peter  | Calculus | 
| Susan  | Algebra | 
| Susan  | Geometry | 
| Susan  | Calculus | 
| John   | Algebra | 
| John   | Geometry | 
| John   | Calculus | 

將有多個表單提交,培訓者可以提交多個回覆。

我已經給了它一個自己去,這是我想出來的:=ARRAYFORMULA({transpose(trim(split(join(",", rept(C2:C&",", if(len(E2:E)>0, (len(E2:E)-len(substitute(E2:E, ",",""))+1),))),","))),transpose(trim(split(join(",", rept(E2:E&",", if(len(C2:C)>0, (len(C2:C)-len(substitute(C2:C, ",",""))+1),))),",")))})
這成功地分割並重復兩個字符串的正確的次數,但它重申其在相同的順序。這意味着(參考我原來的問題中的例子)是,你會得到以下不希望的輸出:

| Candidate | Training | 
+--------------+------------+ 
| Peter  | Algebra | 
| Susan  | Geometry | 
| John   | Calculus | 
| Peter  | Algebra | 
| Susan  | Geometry | 
| John   | Calculus | 

有什麼建議嗎?我衷心感謝任何人的幫助! 在此先感謝

+3

歡迎來到StackOverflow!你需要自己**編寫代碼**如果你有問題,你可以**發佈你已經嘗試過的**,**清楚說明什麼是不工作**,並提供一個[最小,完整和可驗證示例](https://stackoverflow.com/help/mcve)。我建議閱讀[如何問](https://stackoverflow.com/help/how-to-ask)一個很好的問題。 – George

+0

StackOverflow是一個提供問題/答案的地方 - 不是免費的代碼寫入服務。 – ochi

+0

我已經給它一個自己去了,這就是我想出的:'= ARRAYFORMULA({轉置(trim(拆分(join(「,」,rept(C2:C&「,」,if(len :E)> 0,(len(E2:E)-len(substitute(E2:E,「,」,「」))+ 1),))),「,」))),transpose (len(C2:C)-len(replace(C2:C,「,」,「」))(join(「,」,rept )+1),))),「,」)))})'這成功地分割和重複了兩個字符串正確的次數,但是它以相同的順序重複它。這個(參考我原來的問題中的例子)的含義是你讓一個人做同樣的事情。有什麼建議? –

回答

0

您可以用jQuery做到這一點:

var url = "https://spreadsheets.google.com/feeds/cells/0AmHYWnFLY1F-dG1oTHQ5SS1uUzhvTnZTSHNzMjdDaVE/od6/public/values?alt=json-in-script&callback=<YOUR_CALLBACK>"; 
$.getJSON(url,{}, function (d) { console.log(d); }); 

現在,「d」是你的對象...

0

非谷歌Apps腳本的方式來做到這將是

Transpose(Split(A2,", ")) 

其中A2有逗號和空格分隔的文字。將相同的公式應用於B2。

相關問題