2016-07-25 6 views
0

をフィルダウンGASは、私は次のような状況を持っている一つのセルを分割して別の

Column G Column H 
|Black | |dog | 
|Brown | |dog | 
|Grey | |dog | 
|Calico| |cat | 
|Green | |bird| 
|Blue | |bird| 
|... | | ...| 

カンマを分割するためのスクリプトを見てみます描写されたセル(Function to split text in cell and create column)私は分割に従うことができますが、それは私が問題を抱えている部分を埋めることです。私はwhileのループを最初のセルにvar = i、2番目のセルにvar = jと設定する必要があることを理解しています。 iの分割コンテンツを配列にダンプし、array.lengthを埋めます。しかし、私は正しい構文を取得するように見えることはできません。

私はJSとGASにはかなり新しいので、どんな助けにも感謝します。

ありがとうございました。ここで

-JH

答えて

1

はあなたのために働くべきでカスタム関数です:

/** 
* Splits the array by commas in the column with given index, by given delimiter 
* @param {A2:B20} range Range reference 
* @param {2} colToSplit Column index 
* @param {","} delimiter Character by which to split 
* @customfunction 
*/ 


function advancedSplit(range, colToSplit, delimiter) { 
var resArr = [], row; 
range.forEach(function (r) { 
    r[colToSplit-1].replace(/(?:\r\n|\r|\n)(\d|\w)/g,", ").split(delimiter) 
     .forEach(function (s) { 
      row = []; 
      r.forEach(function (c, k) {    
       row.push((k === colToSplit-1) ? s.trim() : c); 
      }) 
      resArr.push(row); 
     }) 
}) 
return resArr.filter(function (r) { 
    return r.toString() 
     .replace(/,/g, "") 
}) 
} 

この関数は次のように使用することができます:

enter image description here

関連する問題