如何根据条件 rewrite/transpose 单元格?
How to rewrite/transpose cells upon conditions?
我正在尝试在 Google 表格中做一些转置数学,如下所示:
- 单元格 A1 的内容 = 9:00(格式为时间)
- 单元格 B1 的内容 = 空单元格(格式为时间)
- 单元格 C1 的内容 = 文本 "Holiday"(格式为时间)
- 单元格 D1 的内容 = 13:45(格式为时间)
如果 A1 包含数字 9
或 13
写入单元格 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);)))))))
...我使用数组公式、持续时间转换和少量求和通过边计算解决了这个问题
我正在尝试在 Google 表格中做一些转置数学,如下所示:
- 单元格 A1 的内容 = 9:00(格式为时间)
- 单元格 B1 的内容 = 空单元格(格式为时间)
- 单元格 C1 的内容 = 文本 "Holiday"(格式为时间)
- 单元格 D1 的内容 = 13:45(格式为时间)
如果 A1 包含数字 9
或 13
写入单元格 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);)))))))
...我使用数组公式、持续时间转换和少量求和通过边计算解决了这个问题