我跟随this thread来计算具有特定颜色的所有单元格。Google表自定义函数返回0
在我的情况,green/lime/#00ff00/rgb(0,255,0)
:
我已经建立了我own sheet并试图重新无功而返这些自定义的功能。
问题是无论我如何操作函数或单元格,函数总是返回0
而不是预期的计数14
。
本身getColor()
作品,但似乎在ArrayFormulat(SUM())
阶段分解。
我跟随this thread来计算具有特定颜色的所有单元格。Google表自定义函数返回0
在我的情况,green/lime/#00ff00/rgb(0,255,0)
:
我已经建立了我own sheet并试图重新无功而返这些自定义的功能。
问题是无论我如何操作函数或单元格,函数总是返回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)))
感谢@JPV,但不幸的是它似乎像它应该是完全不是那么回事。虽然它不是因为getColor()函数,但又是因为'ArrayFormula(sum('。你会尝试隔离getColor()'然后'ArrayFormula(sum('在我看到的链接中看到我的意思是? – 2015-04-04 19:18:55
查看我更新的答案并检查链接... :-) – JPV 2015-04-04 20:57:14