在Google表格中,我希望使用单元格A1的值自动覆盖单元格B1的值,除非A1中的值为100。
Cell A1从外部源动态更新。
有人可以给我一些指导吗?
提前感谢您的时间。
C
答案 0 :(得分:1)
如果您有一个默认值,如果A1 = 100,您想要替换B1,那么您可以在B1中使用以下公式
=if(A1<>100,A1,"default value")
此时,谷歌工作表中无法保持B1中的值不变。虽然在Excel中,这将是“迭代计算”的情况。
答案 1 :(得分:0)
使用普通公式是不可能的,因为它们无法在更新单元格之前记住该值。
我仍然不完全确定数据是如何进入电子表格的,但以下函数会将A1:A100
到B1: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);
}
根据数据何时放入电子表格(如果在打开之前完成),您可以在工具 脚本编辑器 资源 当前项目的触发器在电子表格打开时运行它。
否则,由于结果不会改变,你可以让它每隔一分钟左右执行一次。