Google Sheet 自定义函数 returns 0
Google Sheet custom function returns 0
我正在按照 this thread 计算具有特定颜色的所有单元格。
就我而言,green/lime/#00ff00/rgb(0,255,0)
:
我已经创建了我的 own sheet 并尝试重新创建这些自定义函数但没有成功。
问题是,无论我如何尝试操作函数或单元格,函数总是 returns 0
而不是预期的 14
.
它自己 getColor()
有效,但似乎在 ArrayFormulat(SUM())
阶段出现故障。
尝试将范围作为字符串传递..类似于:
=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")
工作
我回答了我自己的问题。
使用 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) ) )
我正在按照 this thread 计算具有特定颜色的所有单元格。
就我而言,green/lime/#00ff00/rgb(0,255,0)
:
我已经创建了我的 own sheet 并尝试重新创建这些自定义函数但没有成功。
问题是,无论我如何尝试操作函数或单元格,函数总是 returns 0
而不是预期的 14
.
它自己 getColor()
有效,但似乎在 ArrayFormulat(SUM())
阶段出现故障。
尝试将范围作为字符串传递..类似于:
=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")
工作
我回答了我自己的问题。
使用 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) ) )