在Microsoft Excel 2007中查找和sorting相同的月份名称

在这里输入图像说明

我正在与微软Excel 2010年。我有不同的date,如列E1:E19不在特定的时间间隔。 我想帮助find只开始月份date,并将其粘贴到G列,如图所示。

首先就是说,K_B和Ibrahim Odeh都有有效和好的尝试。 我只是想添加另一个选项,因为这些选项使用额外的行或手动工具。

下面是我提出的公式来解决这个问题,就像你的屏幕截图所显示的那样 – 只有一列,只是开始date的行:

G1=SUBTOTAL(5,E$1:E$19) G2=SUBTOTAL(5,OFFSET(E$1:E$19,MATCH(EOMONTH(G1,0),E$1:E$19,1),0,ROWS(E$1:E$19)-MATCH(EOMONTH(G1,0),E$1:E$19,1))) 

这是可能的整个列,如下所示:

 G1=SUBTOTAL(5,E:E) G2=SUBTOTAL(5,OFFSET(E:E,MATCH(EOMONTH(G1,0),E:E,1),0,ROWS(E:E)-MATCH(EOMONTH(G1,0),E:E,1))) 

现在,一些解释:

首先,在G1中需要一个起始点 – 所以我们使用SUBTOTAL来获得列E中最早的date,使用MIN (5)。

现在我们从这里开始工作,通过抵消我们用来计算我们的SUBTOTAL ,仍然使用MIN (5)来得到每个月的开始。

技巧是OFFSET 。 第一个参数是超出基本范围,我们将抵消,然后我们必须确定有多less行来抵消,而不是得到一个错误,我们使用ROWS(basicRange) – rowOffset总是留在超出范围。

MATCH用于通过使用EOMONTHG1中查找月份的最后列出的date的行来确定必要的偏移量。

希望这清除任何问题。

编辑:

因为我必须翻译这个,这里是原文:

 =TEILERGEBNIS(5;E:E) =TEILERGEBNIS(5;BEREICH.VERSCHIEBEN(E:E;VERGLEICH(MONATSENDE(G1;0);E:E;1);0;ZEILEN(E:E)-VERGLEICH(MONATSENDE(G1;0);E:E;1))) 

只要您的date列按照示例中的顺序进行sorting,请执行以下操作:

在行1上方插入一行(以使用公式)在表格所有行中的列A中input一个公式。 公式如下:

=If(NOT(YEAR($E2)&MONTH($E2)=YEAR($E1)&MONTH($E1), MAX($F$1:$F1)+1, "")

这将从1增加到仅在表格中的第一个date旁边涉及的月份。

然后在你的G列表中放上:

=VLOOKUP(ROW(), A:E, 5)

你可以拖动这个公式,只要你想要的。 该公式findA:E中与G中行号匹配的第一个loggingROW() G1中的ROW()返回1),则VLOOKUP()将返回A:E中的第5列中的值date)。

列A中的公式应该在VLOOKUP()公式的date左侧工作。

或者,您可以将它放在右侧的列中,然后使用另一个公式替代列G中的VLOOKUP()

=SUMIF(F:F,ROW(),E:E)

对于F中的值与G中的单元格的行号相匹配的行,这将E中的所有值相加。

我想你需要使用分析工具包附加组件来执行这个任务:

如果您需要知道如何加载它,请查看以下URL:

http://office.microsoft.com/en-us/excel-help/load-the-analysis-toolpak-HP001127724.aspx

问候