【问题标题】:Excel formula for converting text which contains weeks and days into days用于将包含周和天的文本转换为天的 Excel 公式
【发布时间】:2017-04-24 08:30:11
【问题描述】:

我希望一切都在几天内完成,假设 1 周 = 5 天。所以我有以下数据(也想忽略>和

  1w 3d
> 1w 4d
> 1w 3.25d
< 2w 3.25d
> 1w 0.75d
< 4.25d
  0d

希望答案看起来像:

8, Calculated like so --> ((1 week * 5) + 3 days)
9
8.25
13.25
5.75
4.25
0

感谢您的帮助!

【问题讨论】:

    标签: excel function date time formula


    【解决方案1】:

    对于公式方法:

    =IFERROR(TRIM(SUBSTITUTE(SUBSTITUTE(LEFT(A1,FIND("w",A1)-1),">",""),"<","")),0)*5 + TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(MID(A1,IFERROR(FIND("w",A1),0)+1,LEN(A1)),">",""),"<",""),"d",""))
    


    编辑

    根据您的评论,这个公式应该可以解决这个问题。

    =IFERROR(TRIM(SUBSTITUTE(SUBSTITUTE(LEFT(A1,FIND("w",A1)-1),">",""),"<","")),0)*5 + IFERROR(--TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(MID(A1,IFERROR(FIND("w",A1),0)+1,LEN(A1)),">",""),"<",""),"d","")),0)
    

    【讨论】:

    • @Gary'sStudent 将您的行更改为xvert = Evaluate(Replace(Replace(Replace(Replace(sin, "&gt;", ""), "&lt;", ""), "d", ""), "w", "*5+")),它将处理&lt;&gt;
    • 我觉得你的回答很优秀。
    • 唯一的缺点:我得到“#VALUE!”当条目为“1w”时......无论出于何种原因,没有天数的 1w 都会引发该错误(对不起,我没有提供该示例,但我感谢您的时间和精力!)
    • 你有没有机会知道如何在 python 中做同样的事情?我发现它比 excel 更有活力,在那里做同样的功能会很好。
    【解决方案2】:

    考虑以下一行用户定义函数:

    Public Function xvert(sin As String) As Double
       While Not Left(sin, 1) Like "[0-9]"
           sin = Mid(sin, 2)
       Wend
       xvert = Evaluate(Replace(Replace(Replace(sin, " ", "+"), "d", ""), "w", "*5"))
    End Function
    

    UDF 的工作原理是将数据转换为公式,然后计算公式。所以:

    3w 4.3d

    被评估为:

    =3*5 + 4.3

    用户定义函数 (UDF) 非常易于安装和使用:

    1. ALT-F11 调出 VBE 窗口
    2. ALT-I ALT-M 打开一个新模块
    3. 粘贴内容并关闭 VBE 窗口

    如果您保存工作簿,UDF 将与它一起保存。 如果您使用的是 2003 年以后的 Excel 版本,则必须保存 文件为 .xlsm 而不是 .xlsx

    要删除 UDF:

    1. 如上所示打开 VBE 窗口
    2. 清除代码
    3. 关闭 VBE 窗口

    要使用 Excel 中的 UDF:

    =myfunction(A1)

    要了解有关宏的更多信息,请参阅:

    http://www.mvps.org/dmcritchie/excel/getstarted.htm

    http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

    有关 UDF 的详细信息,请参阅:

    http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

    必须启用宏才能使其工作!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-13
      • 1970-01-01
      • 1970-01-01
      • 2019-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多