【问题标题】:How do I format a concatenated date in excel?如何在excel中格式化连接的日期?
【发布时间】:2016-03-21 14:37:16
【问题描述】:

我有一个公式可以转换 Excel 列中的日期

=CONCATENATE(YEAR([@[Admission Date]]),"-",MONTH([@[Admission Date]]))

它会生成一个类似“2014-1”的日期。出于排序目的,我需要日期看起来像这样“2014-02”有没有办法将它写入公式?

谢谢

【问题讨论】:

  • 为什么不对日期进行排序呢?有没有办法把什么写进公式?
  • 你试过TEXT(MONTH([@[Admission Date]])),"mm")

标签: excel


【解决方案1】:

试试,

=DATE(YEAR([@[Admission Date]]), MONTH([@[Admission Date]]), 1)
' as strictly text (not recommended)
=TEXT([@[Admission Date]], "yyyy-mm")

将列格式化为 yyyy-mm。尽可能使用实数和真实日期。 Number Format Code 有足够多的变体,可以在保持基础数值的同时看起来像你想要的那样。

【讨论】:

  • 我同意 jeeped 的观点,如果您最终再次尝试操纵日期信息,将日期保留为日期而不是文本通常会节省您的精力。更好地改变你的显示格式。
【解决方案2】:

如果你添加一个“if”语句,这应该足够简单,如果它是

=CONCATENATE(YEAR(A1),"-",IF(MONTH(B1)>10,MONTH(B1),CONCATENATE("0",MONTH(B1))))

其背后的逻辑是:if "b1 > 10" then (leave it as is) else concatenate("0",month(b1))

【讨论】:

  • RIGHT("0"&MONTH([@[Admission Date]]), 2) 也可以。
  • @Daniel B1 >= 10,我不认为您想在 10 月份前添加 0。或者 b1>9.
  • @jeeped 我喜欢“正确”的方法,只拉最后两个。我不得不承认,在过去的几个类似情况下,我已经完成了添加 0 的 if 语句。我会努力记住“正确的方法,因为它更干净!
  • @ForwardEd 谢谢!我没有真正测试过,你绝对是对的:)
猜你喜欢
  • 2022-07-21
  • 2021-08-09
  • 1970-01-01
  • 1970-01-01
  • 2013-10-21
  • 1970-01-01
  • 2014-12-07
  • 2021-05-14
  • 2018-01-03
相关资源
最近更新 更多