【问题标题】:Get date value based on month name根据月份名称获取日期值
【发布时间】:2014-10-22 10:03:11
【问题描述】:

我的场景如下:

  • 单元格 A1 - 包含当前月份的名称,例如“十月”
  • 单元格 A2 - 包含当前年份的值,例如“2014”
  • 单元格 A3 - 包含给定日期的值,例如“22”

我想用一个公式填充 A3,该公式将其值设为 2014 年 10 月 22 日,并将其格式化为日期,以便我可以在其他单元格中执行比较和计算 - 所以沿着 22 + @ 的行987654322@ + A2。我试过使用CONCATENATE 函数,但这不允许我将单元格格式化为日期。

使用标准的 Excel 函数是否也能做到这一点?

【问题讨论】:

    标签: excel date format excel-2011


    【解决方案1】:

    您正在寻找DATEVALUE 函数。它可以将月份名称转换为数字日期表达式,然后您可以将其格式化为日期(在下面的示例中为dd/mm/yyyy)。

    =DATEVALUE(A3 & " " & A1 & " " & A2)
    

    另外,如果 A1 包含简短的月份名称,即 Jan、Feb、Mar 等,这也将起作用。

    我刚刚做了一些测试,结果表明您也可以完全删除 " " 空格分隔符:

    =DATEVALUE(A3&A1&A2) 
    

    事实上,仅仅使用-- 来强制Excel 将连接的字符串视为数值也可以!

    =--(A3&A1&A2)
    

    到目前为止,我的测试还没有发现任何-- 不能像DATEVALUE 那样工作的实例。让我想知道DATEVALUE 的意义是什么。

    【讨论】:

    • 我认为这种方法在很大程度上取决于区域设置?
    • 您的意思是,如果月份名称以不同于区域设置的语言输入?对,那是真的。是否相关?取决于 OP 的应用程序。
    • 谢谢两位。有关信息,我的应用程序仅适用于单个区域,因此此解决方案将起作用。
    【解决方案2】:

    试试这个:

    =DATE(A2,MATCH(A1,{"January","February","March","April","May","June", "July","August","September","October","November","December"},0),A3)

    【讨论】:

      【解决方案3】:

      你也可以使用这个公式

      =(A1&A2)+A3-1

      以所需日期格式格式化结果单元格

      【讨论】:

        猜你喜欢
        • 2020-12-27
        • 1970-01-01
        • 2010-12-11
        • 2021-08-21
        • 1970-01-01
        • 1970-01-01
        • 2017-05-26
        • 2020-06-17
        相关资源
        最近更新 更多