如何根据条件 rewrite/transpose 单元格?

How to rewrite/transpose cells upon conditions?

我正在尝试在 Google 表格中做一些转置数学,如下所示:

如果 A1 包含数字 913 写入单元格 A2 7:45(sheet 中的所有单元格都格式化为时间)并且如果 A1 为空或包含文本 Holiday 将 A2 留空。

为 B1 > B2、C1 > C2 和 D1 > D2 设置相同的规则,然后将单元格 A2、B2、C2、D2 求和为 E2 中的 "duration of time",如 =sum(A2:D2)

示例:

     A     B      C        D       E
1  9:00        Holiday   13:45
2  7:45                   7:45   15:30

到目前为止,我所有的努力都得到了#ERROR!s 和#VALUE!s。

有什么方法可以实现吗?

编辑:

我用这个字符串做了一些实验,但到目前为止运气不好:

=IF(B2="5:00",SUBSTITUTE(B2, "5:00", "7:45"), IF(B2="9:00",SUBSTITUTE(B2, "9:00", "7:45"),IF(B2="13:45",SUBSTITUTE(B2, "13:45", "7:45"))))

我觉得你想创建一个 onEdit() 触发器 https://developers.google.com/apps-script/guides/triggers/

function onEdit(e){
  if(/*check the the specific cell(s) of interest*/){
    //implement your logic
  }
}

我过去曾在 google 电子表格上成功使用过触发器。

=arrayformula(if((C4:AG4)=1;;if(C4:AG4="";""; 
 (iferror(if(search("5:00";C4:AG4);1);
  iferror(if(search("13:45";C4:AG4);1);
  iferror(if(search("D";C4:AG4);1);)))))))

...我使用数组公式、持续时间转换和少量求和通过边计算解决了这个问题