0

我想要做的基本上就是这个用户想要在这里做的事情:

我需要一个脚本来格式化 A 列中的单元格,但只有包含单词“Hello”的单元格。

但是,我对 Google Apps 脚本一无所知,我需要一个比我在那里或其他任何地方都能找到的更简单的答案。任何帮助表示赞赏;谢谢你!

4

3 回答 3

10

首先,从您的电子表格中打开“工具/脚本编辑器...”。当对话框打开时,选择“为...电子表格创建脚本”。您最终将得到一个示例脚本 - 我们将对其进行编辑以执行您想要的操作。

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”,您就会发现大量教程、书籍和其他资源。

我不能让这更简单。

于 2013-05-29T21:12:36.653 回答
0

在现在不那么新的“新”表格中,这可以在没有脚本的情况下实现:

清除格式,选择 ColumnA 和格式,条件格式...,格式单元格如果...文本包含和:

hello

然后Formatting style单击BDone

这种方式不区分大小写,并且会使OTHELLO.

于 2017-06-06T01:48:08.057 回答
-1

如果您不想设置太多条件格式规则,有一种更简单的方法来设置颜色,尽管不是粗体。在 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:”框中设置格式。这不会给你粗体,但它允许颜色。

我看到你的问题可以追溯到半年,所以对你来说可能为时已晚(如果你严格需要粗体,它无论如何都不能解决问题),但它可能对其他人有所帮助。

于 2013-12-02T21:36:57.870 回答