我想弄清楚如何在谷歌电子表格上使用条件格式,类似于你可以通过公式在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 –