Google表格:仅在特定条件下覆盖单元格的值

时间:2015-12-07 21:37:12

标签: google-sheets

在Google表格中,我希望使用单元格A1的值自动覆盖单元格B1的值,除非A1中的值为100。

Cell A1从外部源动态更新。

有人可以给我一些指导吗?

提前感谢您的时间。

C

2 个答案:

答案 0 :(得分:1)

如果您有一个默认值,如果A1 = 100,您想要替换B1,那么您可以在B1中使用以下公式

=if(A1<>100,A1,"default value")

此时,谷歌工作表中无法保持B1中的值不变。虽然在Excel中,这将是“迭代计算”的情况。

答案 1 :(得分:0)

使用普通公式是不可能的,因为它们无法在更新单元格之前记住该值。

我仍然不完全确定数据是如何进入电子表格的,但以下函数会将A1:A100B1:B100的所有值都复制为非100。

function conditionalUpdate(){
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet7");
  var newData = ss.getRange("A1:A100").getValues();
  var oldData = ss.getRange("B1:B100").getValues();

  for (var row = 0; row < newData.length; ++row) {
    if (newData[row][0] != 100) {
      oldData[row][0] = newData[row][0];
    }
  }
  ss.getRange("B1:B100").setValues(oldData);
}

根据数据何时放入电子表格(如果在打开之前完成),您可以在工具 脚本编辑器 资源 当前项目的触发器在电子表格打开时运行它。
否则,由于结果不会改变,你可以让它每隔一分钟左右执行一次。