电子表格聚合/操作

时间:2014-10-22 19:33:47

标签: excel excel-formula google-sheets

我有一个像

这样的电子表格
2005    Alameda     total HS graduates   1234
2005    Alameda     UC enrollees         112 
2006    Alameda     total HS graduates   892
2006    Alameda     UC enrollees         84
...
2009    Yolo        total HS graduates   1300
2009    Yolo        UC enrollees         93
几年来每个CA县都有

等等。

我想生成一个这样的电子表格:

  county    2005     2006   ...
  Alameda   11.1%     9%
  Alpine       7%     8% 
  ... 
  Yolo       5.5%     4%

即。我希望将年份从行投影到列并为每个县设置一行,然后将毕业生的数量(原始工作表中每个奇数行的数据)除以UC登记者的数量(偶数行数据)每年,并将其插入适当的单元格。

这对我来说很容易用Java做,但我想要了解仅仅使用excel / Google工作表的可能性 - 我怎么能完成这个?

2 个答案:

答案 0 :(得分:2)

假设县已经排序,并且他们从单元格B2开始,请在单元格F2中输入=B2,然后在F3中输入以下内容:

=INDIRECT("B"&COUNTIF(B3:B$9999,"<="&F2)+ROW())

您可以根据记录数更改9999,但原样可以。

将F3复制到需要的行数:

enter image description here

然后,您可以使用SUMPRODUCT来计算百分比:

=IFERROR(
  SUMPRODUCT(($A$2:$A$100=G$1)*
             ($B$2:$B$100=$F2)*
             ($C$2:$C$100="UC enrollees")*
             $D$2:$D$100
             )
  /
  SUMPRODUCT(($A$2:$A$100=G$1)*
             ($B$2:$B$100=$F2)*
             ($C$2:$C$100="total HS graduates")*
             $D$2:$D$100
  ),
  "")

enter image description here

第一个SUMPRODUCT总计与年份和县相匹配的UC登记者。第二个SUMPRODUCT对HS毕业生也是如此。结果是分开的,IFERROR处理丢失数据的被零除错误。

由于您的示例显示百分比,我假设您想要由HS毕业生划分UC登记者,而不是相反。无论哪种方式,我都不会得到与你相同的总数,所以如果我误解了,请告诉我。

答案 1 :(得分:1)

这是进行比较的数据透视表方式。

他们有很多方法可以做到这一点,但我添加了列标题,并选择使用此公式将百分比放在E列中的偶数行中,将第1列中的奇数行放入零行中: -

=IF(ISEVEN(ROW()),D3/D2*100,0)

enter image description here

然后我在工作表2中插入了一个数据透视表,参考了工作表1中的数据并设置了如图所示的字段,它非常自动: -

enter image description here