2016-03-25 22 views
1

いくつかの行にまたがってマージされたセルが含まれているシートの列を反復処理しています。例えば。Google Apps Script - マージされた範囲のセルの値を取得

 |----- 
row 1 | 5 
     |----- 
row 2 | 
row 3 | 3 
row 4 | 
     |----- 
row 5 | 
     |----- 
row 6 | 1 
     |----- 

ここでは、複数のセルで共有される単一の値を表示するためにマージを使用します。

問題は、データを収集しようとしていて、Range.getValues()を使用している場合、マージされた範囲の最初のセルだけが空でない値(例:['5','3','','','','','1'])であるため、わかりませんどのセルが実際に空であり、どのセルがマージされた範囲に属しているかを示します。

私が見つけた回避策はhereでしたが、すべての色を着色していて、細胞の色を見ていました(しかしこれは超醜いです)。

すてきなやり方なので、この問題を解決できますか?

+3

これはすでにここで回答済みです。 http://stackoverflow.com/questions/11025543/how-do-i-know-if-spreadsheet-cells-are-merged-using-google-apps-script – SpiderPig

答えて

0

回避策として、水平アライメントを設定してから取得することもできます。

このコード:

function GetMyRange() { 
     var sheet = SpreadsheetApp.getActiveSheet(); 
     var range1 = sheet.getRange("A1:A6"); 
     range1.setHorizontalAlignment("right"); 
     var vals = range1.getValues(); 
     var alignment = range1.getHorizontalAlignments(); 


     Logger.log(vals); 
     Logger.log(alignment); 
    } 

が結果を与える:範囲を開始してから

[[5.0], [3.0], [], [], [], [1.0]] 

[[right], [right], [general], [general], [right], [right]] 

 |----- 
row 1 | 5 
     |----- 
row 2 | 
row 3 | 3 
row 4 | 
     |----- 
row 5 | 
     |----- 
row 6 | 1 
     |----- 

"一般的な" 整列細胞はあなたにマージされた範囲がある答えを与えます。

+0

私はこのように感謝します。それは、細胞の色を変える人に頼るものではありません –

関連する問題