电子表格聚合/操作

我有一个电子表格结构

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% 

即我想从行到列的年份计算每个县的行数,然后将gradle生人数(原始表格中每个奇数行的数据)除以UC登记人数(偶数行数据),并将其插入相应的单元格中。

对于我来说,这对于Java来说是很容易的,但是我只想单独使用excel / Google表单来感受一下可能的情况 – 我该如何去完成这个任务呢?

假设这些县被sorting,并且它们从B2单元格开始,在F2单元格中input=B2 ,然后在F3中input以下内容:

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

您可以根据logging数量更改9999 ,但现在情况不错。

将F3复制到所需的行数:

在这里输入图像说明

然后你可以使用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 ), "") 

在这里输入图像说明

第一个SUMPRODUCT与年和县匹配的UCjoin者。 第二个SUMPRODUCT对HSgradle生也是一样的。 结果被分开, IFERROR处理丢失数据的除零错误。

由于你的例子显示了百分比,我假设你想要由HSgradle生分配UC登记,而不是相反。 无论哪种方式,我得不到与你一样的总数,所以让我知道如果我误解了。

这里是数据透视表的方式做比较。

他们有很多这样做的方法,但我已经添加了列标题,并select使用此公式将百分比放在E列的偶数行中,并在表格1中的奇数行中置零:

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

在这里输入图像说明

然后,我在工作表2中插入了一个数据透视表,引用了我在工作表1中的数据,并设置了如图所示的字段,这是非常自动的: –

在这里输入图像说明