这个问题与Excel有关。如果我有一个类型为text的单元格,我将在其中插入多个日期,每个日期都带有小时,其格式如下:
06/05/2019 Hours taken: 1,23
06/09/2019 Hours taken: 0,12
06/10/2019 Hours taken: 0,45
06/11/2019 Hours taken: 1,59
当然,所有内容都将视为文本。但是,如果我想把所有的时间加起来,是否有办法做到?
如果您拥有Excel 2013+,则FILTERXML
可以使用此函数使用以下数组公式:
编辑:公式已更改为代表以下时间h,mm
=DOLLARFR(SUM(DOLLARDE(--SUBSTITUTE(FILTERXML("<t><s>"&SUBSTITUTE(TRIM(SUBSTITUTE(A1,CHAR(10)," "))," ","</s><s>") &"</s></t>","//s[contains(text(),'taken')]/following-sibling::s[1]"),",","."),60)),60)
由于这是一个数组公式,您按住需要“确认”它ctrl+shift同时击中enter。如果正确执行此操作,则Excel将{...}
按照公式栏中的说明在公式周围放置括号。
如果小数点分隔符是逗号,则应使用:
=DOLLARFR(SUM(DOLLARDE(--FILTERXML("<t><s>"&SUBSTITUTE(TRIM(SUBSTITUTE(A1,CHAR(10)," "))," ","</s><s>") &"</s></t>","//s[contains(text(),'taken')]/following-sibling::s[1]"),60)),60)
算法
TRIM
结果是只有一个空格XML
taken
。DOLLARDE
和DOLLARFR
函数可以将1.23
表示形式的数字更改为1 hr 23 min
可以加的小数,然后再转换为小数表示形式h.mm
,也可以将其更改为“实际” excel时间并进行格式化,但是您尚未弄清要求SUM
结果数组。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句