// 文字色がデフォ以外のものをカウントする
// countColor("G2:G") みたいに文字列として渡すひつようがある
function countColor(textRange) {
  let sheet = SpreadsheetApp.getActiveSheet();
  let colors = sheet.getRange(textRange)
                    .getFontColorObjects().flat().map((c) => c.asRgbColor().asHexString())
                    .filter((c) => c !== "#ff000000");
  return colors.length;
}

使い方は [拡張機能] - [Apps Script] にて上記のコードを貼り付けるだけ。

範囲の指定の仕方が結構面倒でいつものように E2:G2 とかで指定するとその範囲のセルの中身のデータしか渡されないので正常に動作しない。 なので、"E2:G2"のような指定をするひつようがある。

=countColor("E2:G2")

ROWを可変にする場合は以下のようになる。

="E"&ROW()&":G"&ROW()

(表示されるデータは E21:G21

一方、COLUMNを可変にする場合は文字列にするひつようがあるので

=ADDRESS(2, COLUMN())&":"&ADDRESS(10, COLUMN())

といった感じになる。(表示されるデータは $E$2:$E$10