在Excel中将月份号从完整date单元格转换为文本月份

所以我有一个很长的名字date和时间的列,如下所示:14/01/2017 03:30
(他们是DD / MM / YYYY HH:MM)

我需要获取月份数字,并将其显示为文本,例如1月份,2月份等。 如果我将目标单元格格式化为“MMM”,即使给定的月份是2,3,或者说是12,那么所有的列单元格都会显示1月份。我也尝试过公式= TEXT(L2,“mmmm”)(因为给定的信息来自F栏

有任何想法吗?

听起来像你的date和时间存储为文本,而不是在Excel中的序列date格式。 您可以通过将单元格的格式更改为常规来查看是否会发生任何事情,如果没有任何更改,则可以对其进行testing。 另一种方法是使用formula =istext(A1) ,其中A1是一个包含date的单元格。

现在假设你有文本格式的date,我build议将他们转换为Exceldate序列。 有很多方法可以做到这一点。 我会告诉你一个方法。

这将剥离文本的每个组件,然后重新组合。 我们会假设你的date是A1

去年

 =MID(A1,7,4) 

去除月份

 =MID(A1,4,2) 

剥离一天

 =LEFT(A1,2) 

现在重新组合它:

 =DATE(MID(A1,7,4),MID(A1,4,2),LEFT(A1,2)) 

这会给你一个整数格式的date,然后excel可以转向,并根据需要显示。

为了不丢失时间组件,您也应该删除该部件,并将其与date相结合。 记住date是一个整数,时间就是小数点后的所有数字。 把时间想象成一天中的一小部分。

要超时使用:

 =RIGHT(A1,5) 

并将其转换为Excel时间:

 =TIMEVALUE(RIGHT(A1,5)) 

并把它们放在一起,只需添加:

 =DATE(MID(A1,7,4),MID(A1,4,2),LEFT(A1,2)+TIMEVALUE(RIGHT(A1,5)) 

整个事情的关键部分是你将需要格式化单元格,以显示你想要的。 您可以从下拉菜单中select预先格式化的样式,也可以应用自定义格式。 将自定义格式设置为MMMM应该只显示月份的全名。

如果你实际上需要的是月份的文本,而不是格式,那么你可以使用你的问题的公式:

 =TEXT(<insert appropriate formula from above>,"mmmm") 

尝试使用MID获取月份,然后TEXT()

 =TEXT(MID(A1,SEARCH("/",A1)+1,2),"MMMM")