我正在关注this thread以计算具有特定颜色的所有单元格。
就我而言,green/lime/#00ff00/rgb(0,255,0)
:
我已经创建了own sheet并尝试重新创建这些自定义函数但没有成功。
问题在于,无论我如何尝试操作函数或单元格,函数始终返回0
而不是预期的14
计数。
在自己的getColor()
工作,但似乎在ArrayFormulat(SUM())
阶段出现了问题。
答案 0 :(得分:2)
尝试将字符串作为字符串传递..类似于:
=ArrayFormula(sum(--(getColor("C2:C15")=rgb(0,255,0))))
如果您想使用公式,请尝试:
=sum(ArrayFormula(N(getColor( ADDRESS( ROW(C2),COLUMN(C2) )&":"&ADDRESS( ROW(C15), COLUMN(C15))) = rgb(0,255,0) )))
当然,最短的方式是:
=countif(getColor("C2:C15"), "#00ff00")
工作
答案 1 :(得分:0)
我回答了自己的问题。
使用COUNTIF()
代替SUM()
功能是关键。 SUM()
适用于数值,而COUNTIF()
适用于字符串,这是表示颜色值的方式。
所以这个:
=ArrayFormula(COUNTIF( getColor( ADDRESS( ROW(C2),COLUMN(C2) )&":"&ADDRESS( ROW(C38), COLUMN(C38))), "#00ff00" ) )
而不是
=ArrayFormula(SUM( getColor( ADDRESS( ROW(C2),COLUMN(C2) )&":"&ADDRESS( ROW(C38), COLUMN(C38)))= rgb(0,255,0) ) )