自动将特定单元格从一个 Google 表格选项卡复制到另一个选项卡的公式是什么?

问题描述 投票:0回答:1

这是我的目标:

在选项卡 1 中,有一个已完成任务的列表,按完成日期排序。有些以红色突出显示。 在同一张表的选项卡 2 中,选项卡 1 中突出显示为红色的所有任务都已被复制。

如何在 Google 表格中制定此内容?谢谢!

我还没有尝试过任何东西,因为我刚开始使用 Google 表格中的公式和内容。

google-sheets google-sheets-formula
1个回答
0
投票

将突出显示的单元格从一个工作表复制到另一个工作表

请注意,无法使用 Google Sheet 公式复制突出显示的单元格。或者,您可以使用 Google Apps 脚本,它可以处理更复杂的操作并自动化超出公式所能完成的流程。

function onOpen() {
  SpreadsheetApp.getUi().createMenu('Custom Menu')
    .addItem('Copy the highlighted cells', 'copyCells')
    .addToUi();
}

function copyCells() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sourceSheet = ss.getSheetByName('Tab 1'); 
  var targetSheet = ss.getSheetByName('Tab 2'); 

  var range = sourceSheet.getDataRange();
  var values = range.getValues();
  var backgrounds = range.getBackgrounds();
  var redColor = '#ff0000'; 
  var targetRow = 1; 

  for (var i = 0; i < values.length; i++) {
    if (backgrounds[i].includes(redColor)) {
      targetSheet.getRange(targetRow, 1, 1, values[i].length).setValues([values[i]]);
      targetRow++;
    }
  }
}

并且,这是样本表:

enter image description here

输出:

enter image description here

您可以按照以下步骤导入并运行上面提供的脚本。

在 Google 表格中。

  1. 转到扩展>应用程序脚本
  2. 删除预先制作的代码并粘贴上面的代码。
  3. 确保运行“OnOpen”功能。
  4. 提供授权并再次运行。
  5. 返回 Google 表格并点击“自定义菜单”。

参考:

自定义菜单

© www.soinside.com 2019 - 2024. All rights reserved.