Google 工作表:如何在整行/列中扩展逗号和“/”分隔时间的总和

Google Sheets: How to expand summing of comma and "/" separated times across full rows / columns

这是一个有点奇怪的请求,但我正在尝试在 google sheet 中开发一个公式来执行以下操作...给定一个示例 sheet(假设任意尺寸):

Summed time #1 Summed time #2 ...
08:00,09:00/14:00,15:42 04:33,06:30 ...
19:00,21:00 10:11,10:43/20:20,21:22 ...
... ... ...

我想获取给定列中所有行的值,获取所有逗号分隔对(使用 / 或单元格分隔对)之间的差异,然后对所有这些差异求和。这个想法是,这些对代表工作开始的时间和工作结束的时间,我想要多天(行)为多个任务(列)工作的时间总和。

到目前为止,我对单个专栏的尝试如下:

=IFERROR(SUM(INDEX(SPLIT(INDEX(SPLIT(TEXTJOIN("/",TRUE,B5:B), "/"), 0,1), ","), 0, 2) 
             - INDEX(SPLIT(INDEX(SPLIT(TEXTJOIN("/,",TRUE,B5:B), "/"), 0,1), ","), 0,1)

             IFERROR(INDEX(SPLIT(INDEX(SPLIT(TEXTJOIN("/",TRUE,B5:B), "/"), 0,2), ","), 0, 2) 
              - INDEX(SPLIT(INDEX(SPLIT(TEXTJOIN("/",TRUE,B5:B), "/"), 0,2), ","), 0, 1))
            ......

一遍又一遍地重复,第一次索引调用每次递增一个。显然这是非常低效的,并且不能很好地扩展。

理想情况下,我希望它重复任何 N 个逗号分隔的对,并且我还希望它自动填充整行(可能带有 ArrayFormula()?)

删除第 4 行的所有内容并在 B4 中尝试:

=ARRAYFORMULA(SUBSTITUTE(TEXT(IFNA(VLOOKUP(COLUMN(B4:4), 
 QUERY(QUERY(VALUE(SPLIT(FLATTEN(SPLIT(FLATTEN(REGEXREPLACE(TRIM(QUERY(
 IF(B5:20="",,"/"&B5:20),,9^9)), "(/)", ""&COLUMN(B5:20)&"×")), "/")), "×,")), 
 "select Col1,Col3-Col2 where Col2<>0"), 
 "select Col1,sum(Col2) group by Col1 label sum(Col2)''"), 2, 0)), 
 "[h]:mm"), "0:00", ))