Excel中的多个标准拆分

时间:2017-03-27 13:46:32

标签: excel vba excel-vba excel-formula

我的数据看起来像:

A   B   C   D   E   F   G   H   I

1果实年1月2月3月4月5月6月7月

2 Apples 2011 1 0 0 0 0 0 0

3 Apples 2010 0 11 12 11 11 12 11

4 Oranges 2011 11 10 12 10 11 11 10

5 Oranges 2012 5 5 0 0 0 0 0

我需要不同格式的数据,以便随着时间的推移我可以看到趋势(即2010年2月至2011年1月苹果,2011年1月至2012年1月橘子 - 这里缺少一些数据,因为我没有足够的重复点来发布图片)。这只是我所拥有数据的一小部分样本,因此我不想手动创建一个新表,其中每个月都有正确的值年份。我知道每个Fruit / year我将有12个新行(因为有12个月),如果有一个可以自动执行此操作的公式,这将是正常的。理想的情况是,如果公式一行完成,它将跳转到下一行。有没有人对如何做到这一点有任何想法?在Access中这会更容易吗?

1 个答案:

答案 0 :(得分:-1)

你可以使用这个月 - YTD,使用橙色& 2010年3月至2011年2月,数据为k1:x5

=SUM(OFFSET(INDIRECT(ADDRESS(MAX(IF((($K$2:$K$5="orange")*($L$2:$L$5=2010+1)),ROW($K$2:$K$5))),COLUMN($M$1))),0,0,1,MATCH("Mar",$M$1:$X$1,0)-1))

这是明年的一月到一个月

=SUM(OFFSET(INDIRECT(ADDRESS(MAX(IF((($K$2:$K$5="orange")*($L$2:$L$5=2010)),ROW($K$2:$K$5))),MATCH("Mar",$M$1:$X$1,0)+COLUMN($L$1))),0,0,1,(12-(MATCH(2010,$L$2:$L$5,0)+ROW($L$1)))))+SUM(OFFSET(INDIRECT(ADDRESS(MAX(IF((($K$2:$K$5="orange")*($L$2:$L$5=2010+1)),ROW($K$2:$K$5))),COLUMN($M$1))),0,0,1,MATCH("Mar",$M$1:$X$1,0)-1))

给出

的综合公式

--fix