Excel序列号生成器;顺序基于一年中的一周

时间:2013-11-14 13:32:44

标签: excel date serialization excel-formula

我试图根据以下内容使用Excel生成8位数的序列号:

ABCDEFGH
  • A = C列中的值(用户指定)
  • BC = YEAR(我在隐藏栏中有)
  • D using = RIGHT(YEAR(A3),2)其中A3是输入的日期。
  • DE =年中的周(我在隐藏栏中有
  • E using = WEEKNUM(A3)。
  • FGH =从001到999的连续数字。

这是我无法弄清楚的部分。我希望每周的第一个序列号为001并运行到本周更改。然后序列号将在新周开始于001。最终我想将所有公式嵌套到一个单元格中,但是现在我可以隐藏列,直到我能掌握整个公式。

以下是一个例子:

Date | Customer | User Specified | Year | Week | Serial
11/14/2013 | Sample_Customer | "5" | 13 | 46 | 51346001
11/14/2013 | Sample_Customer | "5" | 13 | 46 | 51346002
11/14/2013 | Sample_Customer2 | "5" | 13 | 46 | 51346003
12/24/2013 | Sample_Customer3 | "3" | 13 | 52 | 31352001

一旦我将日期放入A栏,就会生成序列号(列F)。

2 个答案:

答案 0 :(得分:3)

试试这个:

获取周数的排名并添加rownumber:G2=RANK(E2,$E$2:$E$5)+ROW()

排名,按周编号分组:H2=SUMPRODUCT(($E$2:$E$5=E2)*($G$2:$G$5<G2))+1

制作3位数的序列号:I2=RIGHT("000"&H2,3)

enter image description here

答案 1 :(得分:1)

生成序列号的最后三位数字,你可以使用下面的代码(假设这是在G栏,我将调用Seq号,数据从第2行开始,我在G4中创建三位数序列号

我还假设年份值在D列,而周数在E列。

= IF(COUNTIFS($ d $ 2:D13,D14,$ E $ 2:E13,E14)10 9, “00”,IF(COUNTIFS($ d $ 2:D13,D14,$ E $ 2:E13, E14)&LT; 99, “0”, “”))及COUNTIFS($ d $ 2:D13,D14,$ E $ 2:E13,E14)+ IF(ROW()= 2,0,1)

您可以将整个批次放在括号中,并将其放在当前代码的末尾,以连接序列号的其他位。

希望这有帮助。