2016-09-28 1 views
0

Googleのスプレッドシートで指定された範囲の行に重複を検出する以下のgoogle-app-scriptをオンラインで見つけました。重複が2回以上発生した場合、それらの値を表示するような方法でこのスクリプトを編集する必要があります。2回以上出現するGoogleスプレッドシートの重複を見つけるためのgoogleスクリプト

これは、スクリプトはどのように見えるかです:このスクリプトでたとえば

function dups(rows) { 
    var values = {}; 
    var duplicates = []; 
    for (var i = 0; i < rows.length; i++) { 
    var value = rows[i][0]; 
    if (values[value] !== undefined && duplicates.indexOf(value) == -1) { 
     duplicates.push(value); 
    } else { 
     values[value] = true 
    } 
    } 
    return duplicates; 
} 

私は=のDUPの(A1:A30)を入力すると任意のセルに、私は複数回繰り返され、ユニークな値のリストを取得します。しかし、私は2回以上繰り返される値を求めています。事前に

おかげで、 DRCトリプルで

答えて

2

残念ながらすることができますだけでなく、最も効率的な方法は、発生をカウントし、我々は2を打つ時に停止することですので、(シンプル)のindexOfへ。

function trips(rows) { 
    var output = []; 
    var appearances; 

    for (var row = 0; row < rows.length-2; row++) { 
    var value = rows[row][0]; 

    if (output.indexOf(value) > -1) { 
     continue; 
    } 

    appearances = 0; 
    for (var row2 = row + 1; row2 < rows.length; row2++) { 
     if (value === rows[row2][0]) { 
     appearances += 1; 
     } 
     if (appearances >= 2) { 
     output.push(value); 
     break; 
     } 
    } 
    } 
    return output; 
} 
関連する問題