現在、添付画像のような表の、色のセル数をカウントするのに、GASで作成した関数を使用しています。
この関数を下にコピペしたいのですが、コピペした際に引数の行数を1つ1つ手で直しています。(下記関数の太字部分)
=countCellsWithBackgroundColor("#f6b3ae", "A2:dz2")
↓
=countCellsWithBackgroundColor("#f6b3ae", "A3:dz3")
これを手作業で行わず、コピペしたときに自動で該当する行に変更する方法はありますでしょうか?
// 再度開いた時にカスタム関数をリフレッシュする。 function onOpen(e) { var temp = Utilities.getUuid(); e.source.createTextFinder("=").matchFormulaText(true).replaceAllWith(temp); e.source.createTextFinder(temp).matchFormulaText(true).replaceAllWith("="); } // 指定範囲のセル背景色に合致するセルの合計数を返します // color: 背景色 rangeSpecification: 範囲指定文字列 function countCellsWithBackgroundColor(color, rangeSpecification) { var sheet = SpreadsheetApp.getActiveSpreadsheet(); var range = sheet.getRange(rangeSpecification); var x = 0; var i = 0; var j = 0; var cell; for (i = 1; i <= range.getNumRows(); i++) { for (j = 1; j <= range.getNumColumns(); j++) { cell = range.getCell(i, j); if(cell.getBackgroundColor() == color) x++; } } return x; } // 指定セルの背景色を取得します。 function getBackgroundColor(rangeSpecification) { var sheet = SpreadsheetApp.getActiveSpreadsheet(); return sheet.getRange(rangeSpecification).getBackgroundColor(); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/04 05:54