2017-04-12 8 views
1

次の式を使用して、行内のすべての値を連結したmd5ハッシュを返します。forEachから1つの列を除外します。

md5(forEach(row.columnNames,cn,if(isNull(cells[cn]),"",cells[cn].value)).join("|")) 

これは、重複を識別するための簡単なインデックスを作成するためです(この段階では削除したくありません)。しかし、私は、列の1つにデータセットのユニークなインデックスが含まれているため、この列を含めると明らかにすべてのハッシュがユニークになるため、すべての列をハッシュできません。 (duh)

forEachループから指定された列を除外する方法はありますか?この除いてはforEachの並べ替え...除外したい列を想定し

おかげ

答えて

0

は、あなたがこのようなrow.columnNamesをサブセットすることができ、最初のものです:あなたは除外することを好む場合

md5(forEach(row.columnNames.slice(1),cn,if(isNull(cells[cn]),"",cells[cn].value)).join("|")) 

その名前の列(例えば、「ID」)、あなたはfilter()を使用する必要があります。

md5(forEach(filter(row.columnNames, v, v!="ID"),cn,if(isNull(cells[cn]),"",cells[cn].value)).join("|")) 

同様に、あなたも私にfilter()を使用することができます条件に基づいて列名を除外/除外します(ここでは、名前に大文字の "C"を含む列を除外します)。

filter(row.columnNames, v, v.contains("C")==false) 
+1

ブリリアント!すべてのソリューションは完全に機能し、両方のオプションを含めると感謝しています。 – ltrbrooks

関連する問題