在 Excel 中以智能方式拆分字符串

问题描述 投票:0回答:1

我试图找到一种方法来分割一串字符,看起来像

"0d__0h__0m" or 
"7d_11h_20m"

其中下划线代表空格,分成三个不同的列,每列都有天数、小时数和分钟数。
因此,如果我的文本字符串位于 A 列中,我希望 B 列是天数,C 列是小时数,D 列是分钟数。
让它变得困难的是小时和分钟、天和小时之间的间隔量。

我尝试使用

RIGHT, LEFT, MID, LEN
功能,但无法正常工作。

我也尝试过使用类似的东西

 =TEXTJOIN("";TRUE;IFERROR((MID(A28;ROW(INDIRECT("1:"&LEN(A28)));1)*1);""))

只找到数字,但是我无法正确分隔数字,因为有时天、小时和分钟有 1 位数字,有时有 2 位数字。

有人可以帮助我吗?

最好的,

乔治

excel string excel-formula
1个回答
0
投票

可能有更好的方法。
但假设您没有 Excel 365,以下内容应该返回各个值,无论每个值有多少个数字字符

示例单元格 A1 包含;

17d 3h  52m

公式

Days:   =LEFT(A1,FIND(" ",A1)-1)
Hours:  =MID(A1,FIND(" ", A1)+1,FIND(" ", A1,FIND(" ",A1)+1)-FIND(" ", A1)-1)
Mins:   =RIGHT(A1,LEN(A1)-FIND(" ", A1,FIND(" ",A1)+1))

如果您使用下划线而不是空格,则只需更改分隔符即可。
Example

© www.soinside.com 2019 - 2024. All rights reserved.