【发布时间】:2017-03-27 13:46:31
【问题描述】:
我的数据看起来像:
A B C D E F G H I
1个水果 年 一月 二月 三月 四月 五月 六月 七月
2个苹果 2011 1 0 0 0 0 0 0
3 个苹果 2010 0 11 12 11 11 12 11
4个橙子 2011 11 10 12 10 11 11 10
5个橙子 2012 5 5 0 0 0 0 0
我需要不同格式的数据,以便我可以看到随着时间推移的趋势(即苹果从 2010 年 2 月到 2011 年 1 月,橙子从 2011 年 1 月到 2012 年 1 月 - 这里缺少一些数据,因为我没有足够的代表点来发布图片)。这只是我拥有的数据的一个非常小的样本,所以我不想手动创建一个新表,其中每个月都有正确的年份作为值。我知道每个水果/年将有 12 个新行(因为有 12 个月),如果有一个可以自动执行此操作的公式,这将是可以的。如果公式在一行完成后将跳转到下一行,那将是理想的。有没有人对如何做到这一点有任何想法?这在 Access 中会更容易吗?
【问题讨论】:
-
听起来您正在寻找 Unpivot .. 看看 stackoverflow.com/questions/32115219/…
-
你可以使用类似的东西(我的数据在 k1:x5 中)
=SUM(OFFSET(INDIRECT(ADDRESS(MAX(IF((($K$2:$K$5="orange")*($L$2:$L$5=2010)),ROW($K$2:$K$5))-1),MATCH("Mar",$M$1:$X$1,0)+COLUMN(L1))),0,0,1,(12-(MATCH(2010,$L$2:$L$5,0)+ROW(L1)))))这将从开始月份到年底,公式将需要为第二部分更改,这个将是相同的,行的单元格 1,与结束月份的单元格。以后有时间再补充。
标签: vba excel excel-formula