转换不同的日期格式

时间:2016-07-04 12:49:17

标签: excel excel-vba excel-formula vba

这是我的另一个问题How to convert Quarter years to other format

的延续

好的,现在我需要转换一些东西:)

我需要将YYYY-MM转换为YYWW 恩。 2022-10至2241 //第41周,因为那是在10月10日的中途。

我还需要w.YYWW才能成为YYWW 和v.YYWW到YYWW,这是瑞典语(vecka)的一周

最后但并非最不重要的是,我需要它从我之前的问题转换,即YYYY-Quarter(1234)到YYWW 这是我用于

的代码

gen_server

最好的情况是,如果1个公式可以将所有这些转换为YYWW,因为我正在引用该单元格以使我的时间轴工作。

每个月服用一周。我每个月只花了15天的一周。您可以将它们分开4周或者您可能使用的任何方法。不需要确切的一周或一个日期,只需要接近月中。

1月1日

2007年2月2日

11月3日

4月4日

19年5月5日

6月6日

7月7日

8月8日33日

9月9日37。

10月10日

11月11日

12月12日49。

离。 2019-05成为1919年

2023-11变为2345

2016-08成为1633

1 个答案:

答案 0 :(得分:0)

好的w.YYMM to YYMMv.YYMM to YYMM同样的right(D8,4) #1公式也可以。

YYMM #2无需更改

YYYY-QQ需要=MID(D8,3,2) & CHOOSE(RIGHT(D8,1),"08",20,33,46) #3

YYYY.MM需要=MID(D8,3,2)&CHOOSE(RIGHT(D8,2),"02","07",11,15,19,24,28,33,37,41,45,49) #4

所以我们现在需要的是组合公式并在它们之间进行选择。

最容易选择的是长度......这也最大限度地减少了嵌套。

所以=IF(LEN(D8)=4,"#2",IF(LEN(D8)=6,"#1",IF(MID(D8,5,1)="-","#3","#4")))

或全部合并,前面有1 *:

=1*IF(LEN(D8)=4,D8,IF(LEN(D8)=6,RIGHT(D8,4),IF(MID(D8,5,1)="-",MID(D8,3,2) & CHOOSE(RIGHT(D8,1),"08",20,33,46),MID(D8,3,2)&CHOOSE(RIGHT(D8,2),"02","07",11,15,19,24,28,33,37,41,45,49))))

下次....我想我让你自己做。我提供了到达那里的技术,你现在需要使用评估公式和谷歌看我做了什么以及我是如何做到的