尝试:
=INDEX(IFERROR(TRIM(REGEXREPLACE(
TEXT( DATEDIF(A2:A, B2:B, "Y"), "0#")&CHOOSE(MATCH( DATEDIF(A2:A, B2:B, "Y"), {0,1,2})," years ", " year ", " years ")&
TEXT(IF(B2:B-A2:A<1,,DATEDIF(A2:A, B2:B, "YD")), "0#")&CHOOSE(MATCH(IF(B2:B-A2:A<1,,DATEDIF(A2:A, B2:B, "YD")), {0,1,2})," days ", " day ", " days ")&
TEXT( TEXT(B2:B-A2:A, "H"), "0#")& CHOOSE(MATCH(TEXT(B2:B-A2:A, "H") *1, {0,1,2})," hours ", " hour ", " hours ")&
TEXT(INT(TEXT(B2:B-A2:A, "M.S")), "0#")& CHOOSE(MATCH(TEXT(B2:B-A2:A, "M.S")*1, {0,1,2})," minutes"," minute"," minutes"),
"\b0 (year(s)|day(s)|hour(s)|minute(s))", ))))
- 适用于闰年
- 适用于单数
- 与复数一起使用
- 适用于数组
- 使用秒数
- 仅适用于日期
- 仅适用于时间
- 工作不到一天
- 适用于空白行
- 排除所有空值
仅删除前导空值:
=INDEX(IFERROR(TRIM(REGEXREPLACE(
TEXT( DATEDIF(A2:A, B2:B, "Y"), "00")&CHOOSE(MATCH( DATEDIF(A2:A, B2:B, "Y"), {0,1,2})," years ", " year ", " years ")&
TEXT(IF(B2:B-A2:A<1,,DATEDIF(A2:A, B2:B, "YD")), "00")&CHOOSE(MATCH(IF(B2:B-A2:A<1,,DATEDIF(A2:A, B2:B, "YD")), {0,1,2})," days ", " day ", " days ")&
TEXT( TEXT(B2:B-A2:A, "H"), "00")&CHOOSE(MATCH(TEXT(B2:B-A2:A, "H") *1, {0,1,2})," hours ", " hour ", " hours ")&
TEXT(INT(TEXT(B2:B-A2:A, "M.S")), "00")&CHOOSE(MATCH(TEXT(B2:B-A2:A, "M.S")*1, {0,1,2})," minutes"," minute"," minutes"),
"^\b(?:00 years )?(?:00 days )?(?:00 hours )?(?:00 minutes)?", ))))
到NOT 删除任何空值:
=INDEX(IFERROR(REGEXREPLACE(
TEXT( DATEDIF(A2:A, B2:B, "Y"), "00")&CHOOSE(MATCH( DATEDIF(A2:A, B2:B, "Y"), {0,1,2})," years ", " year ", " years ")&
TEXT(IF(B2:B-A2:A<1,,DATEDIF(A2:A, B2:B, "YD")), "00")&CHOOSE(MATCH(IF(B2:B-A2:A<1,,DATEDIF(A2:A, B2:B, "YD")), {0,1,2})," days ", " day ", " days ")&
TEXT( TEXT(B2:B-A2:A, "H"), "00")&CHOOSE(MATCH(TEXT(B2:B-A2:A, "H") *1, {0,1,2})," hours ", " hour ", " hours ")&
TEXT(INT(TEXT(B2:B-A2:A, "M.S")), "00")&CHOOSE(MATCH(TEXT(B2:B-A2:A, "M.S")*1, {0,1,2})," minutes"," minute"," minutes"),
"^\b00 years 00 days 00 hours 00 minutes", )))
让它与火星、木星和土星对齐:
=INDEX(IFERROR(REGEXREPLACE(REGEXREPLACE(
TEXT( DATEDIF(A2:A, B2:B, "Y"), "00")&CHOOSE(MATCH( DATEDIF(A2:A, B2:B, "Y"), {0,1,2})," years ", " year ", " years ")&
TEXT(IF(B2:B-A2:A<1,,DATEDIF(A2:A, B2:B, "YD")), "000")&CHOOSE(MATCH(IF(B2:B-A2:A<1,,DATEDIF(A2:A, B2:B, "YD")), {0,1,2})," days ", " day ", " days ")&
TEXT( TEXT(B2:B-A2:A, "H"), "00")&CHOOSE(MATCH(TEXT(B2:B-A2:A, "H") *1, {0,1,2})," hours ", " hour ", " hours ")&
TEXT(INT(TEXT(B2:B-A2:A, "M.S")), "00")&CHOOSE(MATCH(TEXT(B2:B-A2:A, "M.S")*1, {0,1,2})," minutes"," minute "," minutes"),
"^\b00 years 000 days 00 hours 00 minutes", ), "(0)(\d{2})", " $2")))
更新:
一般用途:
=INDEX(AVERAGE(IF(B2:B+A2:A, B2:B-A2:A, )))
或:
=INDEX(AVERAGE(IFERROR(1/(1/(B2:B-A2:A)))))
取决于您需要的灵敏度