2015-02-05 37 views
2

我有一系列單元格來自其他系統的顏色編碼(背景顏色)(將其數據導出爲ex​​cel格式,我已將其導入Google Spreadsheets/Sheets)我需要根據每個單元格的背景顏色進行簡單的計算。在Google表格中使用範圍參數智能填充自定義函數

不幸的是,我在表格中找到的唯一方法來確定單元格的背景顏色是通過使用腳本,我沒有經驗。

我一直在使用下面的腳本:

function getBGColor(range) { 
    var sheet = SpreadsheetApp.getActiveSpreadsheet(); 
    return sheet.getRange(range).getBackgroundColor(); 
} 

我的問題是,範圍必須用引號輸入。我的理解是,如果範圍輸入不帶引號,則單元格的值將傳遞給該函數。正確?

=getBGColor("E2") 

表格不會智能地填充引號中的值。當我填寫時,公式不會增量,因爲我需要它(有我需要獲得的顏色數百個單元格)。

我得到

=getBGColor("E2") 
=getBGColor("E2") 

,而不是

=getBGColor("E3") 
=getBGColor("E4") 

我覺得我必須使用錯誤的術語,因爲我無法找到任何這種解決方案來搜索。我是否需要創建一個複製智能填充功能的自定義函數,或者是否存在其他一些我錯過的解決方案?我是否錯誤地攻擊了這個問題?

我嘗試製作工作表,當新數據可用時可以重新使用,並且可以實時操作(大量單元格引用)來演示數據更改的效果,但看起來像Sheets可能不成爲這個最好的工具嗎? Excel運行良好,但我的上級正在推動將所有這類數據轉換爲表格。

謝謝。

回答

2

剛剛發現似乎工作的東西。雖然

CELL("color",reference) 

不起作用,它確實導致我的地址info_type。我可以使用以下解決方法:

=getBGColor(CELL("address",E2)) 

智能向下填充。

如果有更好的方法來做到這一點,請讓我知道!

相關問題