我想要做的基本上就是这个用户想要在这里做的事情:
我需要一个脚本来格式化 A 列中的单元格,但只有包含单词“Hello”的单元格。
但是,我对 Google Apps 脚本一无所知,我需要一个比我在那里或其他任何地方都能找到的更简单的答案。任何帮助表示赞赏;谢谢你!
我想要做的基本上就是这个用户想要在这里做的事情:
我需要一个脚本来格式化 A 列中的单元格,但只有包含单词“Hello”的单元格。
但是,我对 Google Apps 脚本一无所知,我需要一个比我在那里或其他任何地方都能找到的更简单的答案。任何帮助表示赞赏;谢谢你!
首先,从您的电子表格中打开“工具/脚本编辑器...”。当对话框打开时,选择“为...电子表格创建脚本”。您最终将得到一个示例脚本 - 我们将对其进行编辑以执行您想要的操作。
readRows()
如下所示更改功能。变化在于,我们将使用if
语句来检查单元格中是否包含带有“Hello”的字符串,而不是记录每一行的内容。然后,如果是这样,我们将加粗单元格文本。
function readRows() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
// Arrays start at 0, Google Sheets start at 1 - must remember that.
// We will loop starting at 1, because we want to skip the header in
// Row 1, aka Array index 0
for (var i = 1; i <= numRows - 1; i++) {
var colA = values[i][0];
if (colA.toString().indexOf('Hello') >= 0) {
sheet.getRange(i+1,1).setFontWeight("bold");
}
}
};
现在,如何运行它?该示例已经具有onOpen()
将设置自定义菜单的功能...让我们更改它在用户界面中显示的文本,如下所示。唯一的变化是菜单项的“名称”属性。
function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{
name : "Bold Hello",
functionName : "readRows"
}];
sheet.addMenu("Script Center Menu", entries);
};
保存您的脚本。返回到您的电子表格,然后重新加载它(让它运行 onOpen 触发函数)。当你的菜单出现时,你就准备好了。
下一步 - 从此处的“第一个脚本”教程开始。Google Apps Script 文档涵盖了 Apps Script 提供的所有服务,但基本的语言结构和对象是 javascript,因此您应该熟悉它。只需尝试谷歌搜索“学习 javascript”,您就会发现大量教程、书籍和其他资源。
我不能让这更简单。
在现在不那么新的“新”表格中,这可以在没有脚本的情况下实现:
清除格式,选择 ColumnA 和格式,条件格式...,格式单元格如果...文本包含和:
hello
然后Formatting style
单击B
和Done。
这种方式不区分大小写,并且会使OTHELLO
.
如果您不想设置太多条件格式规则,有一种更简单的方法来设置颜色,尽管不是粗体。在 Google Drive 电子表格中,单击“格式”菜单。底部菜单项应为“条件格式...”;点击那个。这应该会产生一个默认为这样的对话框(在我可以用文本绘制的范围内):
x
Conditional formatting
[Text contains ◊ ] [ ] []Text: [ ] []Background: [ ] x
e.g. "done" or "Jonathan"
_______________________________________________________________________________
+ Add another rule
[ Save rules ] [ Cancel ]
在您的示例中,您正在寻找包含“Hello”的单元格,因此默认的“Text contains”可以完成这项工作。将“Hello”放入文本框中,并在“Text”:”和“Background:”框中设置格式。这不会给你粗体,但它允许颜色。
我看到你的问题可以追溯到半年,所以对你来说可能为时已晚(如果你严格需要粗体,它无论如何都不能解决问题),但它可能对其他人有所帮助。