Google sheets 是否可以基于另一个单元格的文本颜色在一个单元格中显示文本?

Google sheets 是否可以基于另一个单元格的文本颜色在一个单元格中显示文本?,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,所以,我想这是一种反向条件格式 我正在制作一个我自己的电子表格,以合并我们小组任务电子表格中列出的所有任务。到目前为止,我的电子表格工作正常,除了状态栏 基本上,我希望这样,当我在小组任务电子表格上将任务变为绿色(更改字体颜色)时,电子表格上该任务旁边的单元格将显示“完成”。您可以使用应用程序脚本创建函数,并使用简单的触发器运行它。要创建应用程序脚本,请转到工具->脚本编辑器 简单触发器 触发器允许应用程序脚本在特定事件(如打开文档)发生时自动运行函数。简单触发器是一组内置在应用程序脚本中的保

所以,我想这是一种反向条件格式

我正在制作一个我自己的电子表格,以合并我们小组任务电子表格中列出的所有任务。到目前为止,我的电子表格工作正常,除了状态栏


基本上,我希望这样,当我在小组任务电子表格上将任务变为绿色(更改字体颜色)时,电子表格上该任务旁边的单元格将显示“完成”。

您可以使用应用程序脚本创建函数,并使用简单的触发器运行它。要创建应用程序脚本,请转到工具->脚本编辑器

简单触发器

  • 触发器允许应用程序脚本在特定事件(如打开文档)发生时自动运行函数。简单触发器是一组内置在应用程序脚本中的保留函数,如onOpen(e)函数,当用户打开谷歌文档、工作表、幻灯片或表单文件时执行。可安装触发器提供了比简单触发器更多的功能,但必须在使用前激活。对于这两种类型的触发器,应用程序脚本都会向触发器函数传递一个事件对象,该对象包含有关事件发生的上下文的信息。 下面是一个关于如何使用Apps脚本修改Google表单的示例
示例函数:

/**
 * The event handler triggered when editing the spreadsheet.
 * @param {Event} e The onEdit event.
 */
function onChange(e){
  
  //Select the active sheet
  var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  //Select the active cell
  var activeCell = activeSheet.getActiveCell();

  //Note: I want to input the status next to the task's column
  var taskrow = activeCell.getRow();
  var statusCol = activeCell.getColumn() + 1;
  
  //Check if font color is green then set the status column to Done
  if(activeCell.getFontColor() == '#00ff00'){
       activeSheet.getRange(taskrow,statusCol).setValue('Done');
  }
  //Check if font color is red then set the status column to Delayed
    else if(activeCell.getFontColor() == '#ff0000'){
       activeSheet.getRange(taskrow,statusCol).setValue('Delayed');
  }

};
只要工作表的用户界面(如字体颜色)发生更改,就可以触发onChange()方法

使用SpreadsheetApp中Range类的getFontColor(),可以获得CSS表示法中单元格的字体颜色(如“#ffffff”或“white”)

然后,您可以使用SpreadsheetApp中Range类的setValue()设置单元格值

要了解有关电子表格应用程序及其类的更多信息,您可以参考以下参考资料:

了解有关简单触发器和事件对象的更多信息:


要自动执行onChange(),需要将其添加到项目的触发器中

  • 使用“播放”按钮旁边的时钟图标打开当前项目的触发器
  • 单击当前项目触发器右下角的“添加触发器”

  • 填充必要的信息,并确保在选择事件类型选项下选择“更改时”


  • 样本输出:


    仅凭公式无法读取单元格的颜色。你考虑过使用勾选框吗?你能分享一个电子表格作为例子吗?到目前为止你试过什么?谢谢你的回答!还有一个问题。。。是否可以复制导入数据的文本颜色?例如,如果在另一个电子表格上,文本颜色为红色,则我的电子表格中显示的文本是否也可以为红色?否,不可能使用importrange()。Importrange()不导入单元格格式。但使用谷歌应用程序脚本是可能的。您只需选择单元格的范围,在其他电子表格中获取字体颜色,然后在当前电子表格中设置字体颜色。顺便说一句,如果你觉得我的答案有用,请随时接受或投票支持。谢谢!我已经接受了你的答案并投了赞成票,但它没有出现。我可以问一下如何使用谷歌应用程序脚本获取字体颜色吗?我可能应该提出一个新问题,你可以在那里回答吗?这是一个新问题。您能告诉我如何开始使电子表格之间的文本颜色匹配吗?提前谢谢!