0

我跟隨this thread來計算具有特定顏色的所有單元格。Google表自定義函數返回0

在我的情況,green/lime/#00ff00/rgb(0,255,0)

我已經建立了我own sheet並試圖重新無功而返這些自定義的功能。

問題是無論我如何操作函數或單元格,函數總是返回0而不是預期的計數14

本身getColor()作品,但似乎在ArrayFormulat(SUM())階段分解。

回答

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") 

所有在this copy of your spreadsheet

工作
+0

感謝@JPV,但不幸的是它似乎像它應該是完全不是那麼回事。雖然它不是因爲getColor()函數,但又是因爲'ArrayFormula(sum('。你會嘗試隔離getColor()'然後'ArrayFormula(sum('在我看到的鏈接中看到我的意思是? – 2015-04-04 19:18:55

+1

查看我更新的答案並檢查鏈接... :-) – JPV 2015-04-04 20:57:14

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)))