如何简化此电子表格公式?

时间:2017-03-23 13:17:19

标签: google-sheets spreadsheet

我正在处理我的个人财务电子表格,我有一个表格列出了以下列:"月","收入",费用和#34;"注意& #34;,我正在建立一个第二个表来用来构建一个新的图表,这样我就可以查看与数据相比的年度比较(即,我会将所有Januarys'数据彼此相邻地进行比较)。

以下是我用来转置此数据的公式,但我知道必须有更好的方法,但我的搜索失败了我:

=arrayformula({
    filter(B5:B64,MONTH(B5:B64)=1);
    filter(B5:B64,MONTH(B5:B64)=2);
    filter(B5:B64,MONTH(B5:B64)=3);
    filter(B5:B64,MONTH(B5:B64)=4);
    filter(B5:B64,MONTH(B5:B64)=5);
    filter(B5:B64,MONTH(B5:B64)=6);
    filter(B5:B64,MONTH(B5:B64)=7);
    filter(B5:B64,MONTH(B5:B64)=8);
    filter(B5:B64,MONTH(B5:B64)=9);
    filter(B5:B64,MONTH(B5:B64)=10);
    filter(B5:B64,MONTH(B5:B64)=11);
    filter(B5:B64,MONTH(B5:B64)=12)
})

这看起来很笨重,虽然它可以做我想要的。关于如何简化这一点的任何建议?

编辑:为了澄清,我会收集类似于Jan 2015; Feb 2015; Mar 2015;等的数据,并将其转置为:Jan 2015; Jan 2016; Jan 2017; Feb 2015; Feb 2016; Feb 2017等。

1 个答案:

答案 0 :(得分:0)

=ARRAY_CONSTRAIN(SORT({B5:B64,MONTH(A1:A24)},2,TRUE),COUNTA(B5:B64),1)

解释

  • {B2:B64,MONTH(B5:B64)}是一个由两列组成的自定义数组,即输入和一列月份。
  • SORT函数对自定义数组进行排序
  • ARRAY_CONSTRAIN功能会删除月份列。