我想弄清楚如何在谷歌電子表格上使用條件格式,類似於你可以通過公式在Excel中做什麼。谷歌電子表格條件格式化腳本
我希望單元格A2變爲綠色,如果單元格O2的值爲「X」,並且這將在兩列都完成。我知道這將需要一個腳本。
我跑過了一個類似的鏈接,但我不知道如何調整它以滿足我的需求。這是可以做到的嗎?
鏈接:https://webapps.stackexchange.com/questions/16745/google-spreadsheets-conditional-formatting
我想弄清楚如何在谷歌電子表格上使用條件格式,類似於你可以通過公式在Excel中做什麼。谷歌電子表格條件格式化腳本
我希望單元格A2變爲綠色,如果單元格O2的值爲「X」,並且這將在兩列都完成。我知道這將需要一個腳本。
我跑過了一個類似的鏈接,但我不知道如何調整它以滿足我的需求。這是可以做到的嗎?
鏈接:https://webapps.stackexchange.com/questions/16745/google-spreadsheets-conditional-formatting
這裏是你可以用做你所描述的腳本:
function formatting() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var columnO = sheet.getRange(2, 15, sheet.getLastRow()-1, 1);
var oValues = columnO.getValues();
for (var i = 0; i < oValues.length; i++) {
if (oValues[i][0] == 'X') {
sheet.getRange(i + 2, 1, 1, 1).setBackgroundColor('green');
}
}
}
在新的谷歌片,這不再需要的腳本。
取而代之,在條件格式中,選擇「自定義公式」選項,並放入一個值,如=O2="X"
- 或者任何可以返回布爾值true/false的表達式。
從我可以告訴,在這些自定義腳本列出的參考文獻都有點怪異,並應用如下...
如果這是你的選擇範圍內的單元格,則改爲「被突出顯示的單元格「。
如果它是所選範圍之外的單元格,則它將更改爲「該位置,加上與當前單元格偏移到所選範圍左上角相同的偏移量」。
也就是說,如果你的範圍爲A1:B2
,則上面會相同,每個小區設置單獨的格式如下:
A1 =O2="X"
A2 =O3="X"
B1 =P2="X"
B2 =P3="X"
還可以指定固定的參考,像=$O$2="X"
- 這將檢查所選範圍內所有細胞的特定細胞O2。
(2月2017)作爲另一個答覆中提到,谷歌現在表允許用戶直接從用戶界面添加Conditional Formatting,無論是在臺式機/筆記本電腦,Android或iOS設備。
同樣,與the Google Sheets API v4(和更新),開發人員現在可以編寫應用程序的CRUD條件格式規則。請查看guide和samples以瞭解更多詳情以及reference docs(搜索{add,update,delete}ConditionalFormatRule
)。導引特徵這段Python代碼片段(假設SHEET_ID
和SHEETS
作爲API服務端點文件ID):
myRange = {
'sheetId': 0,
'startRowIndex': 1,
'endRowIndex': 11,
'startColumnIndex': 0,
'endColumnIndex': 4,
}
reqs = [
{'addConditionalFormatRule': {
'index': 0,
'rule': {
'ranges': [ myRange ],
'booleanRule': {
'format': {'textFormat': {'foregroundColor': {'red': 0.8}}}
'condition': {
'type': 'CUSTOM_FORMULA',
'values':
[{'userEnteredValue': '=GT($D2,median($D$2:$D$11))'}]
},
},
},
}},
{'addConditionalFormatRule': {
'index': 0,
'rule': {
'ranges': [ myRange ],
'booleanRule': {
'format': {
'backgroundColor': {'red': 1, 'green': 0.4, 'blue': 0.4}
},
'condition': {
'type': 'CUSTOM_FORMULA',
'values':
[{'userEnteredValue': '=LT($D2,median($D$2:$D$11))'}]
},
},
},
}},
]
SHEETS.spreadsheets().batchUpdate(spreadsheetId=SHEET_ID,
body={'requests': reqs}).execute()
除了Python中,谷歌的API支持variety of languages,所以你必須選擇。無論如何,該代碼樣本會格式化一張表格(請參見下圖),使年齡小於中位數年齡的人員以淺紅色突出顯示,而中位數以上的人員則以紅色字體着色他們的數據。
公共服務公告
最新表API提供了舊版本無法使用,即給開發商一個表的編程訪問,如果你使用的用戶界面功能(條件格式[!],凍結行,單元格格式,調整行/列大小,添加數據透視表,創建圖表等)。
如果你是新來的API &希望再看看咯,使用API的更普遍的「真實世界」的例子,我創建了各種視頻&相關博客文章:
正如你所知道的,牀單API主要是爲文件取向的功能如上所述,但執行文件 -level訪問如上傳下載&,進口&出口(同上傳&下載,但轉換爲/來自各種格式),請改用Google Drive API。
:使用驅動API的例子(*) - TL; DR:將純文本文件上傳到雲端硬盤,導入/轉換爲Google文檔格式,然後將該文檔導出爲PDF。以上帖子使用Drive API v2;這follow-up post描述將其遷移到Drive API v3,這裏是一個video結合「窮人的轉換器」職位。
完美的作品。我添加了另一行,所以如果單元格是空白的,它會變回白色。 –
如何在編寫腳本後使用該腳本? –
@DanielWilliams一旦將腳本保存在腳本編輯器中,就可以通過幾種方式運行腳本。最簡單的方法是在腳本編輯器中按運行按鈕(看起來像一個三角形/播放按鈕)。 https://developers.google.com/apps-script/execution_script_editor –