计算表demo案例-九游会登陆
目标
从excel中获取多个股票的日交易数据,计算出哪些股票在上个月里连续上涨超过5天。
原始数据在excel中,右边计算表中的是最终的计算结果。
步骤
1、数据整理
导入excel,删除多余的列
2、按照股票分组
在a2格点右键,选择”quick operation–group”
分组后的结果如下图所示:
注意:快捷操作中的分组会自动排序。如要更细致的设置,可以使用普通操作。
3、按照时间过滤
过滤出小于6月30日且大于6月1日的数据。
注意:在计算表中,这个计算可以一步完成,也可以分为2步,即先计算大于6月1日的数据,再在结果上计算小于6月30日的数据。
首先,在b3点右键,选择”operation-filter
输入一次公式,所有分组均被过滤,这样就过滤出了大于6月1日的数据。注意,计算表可以在分组后过滤明细数据,这是传统电子表格难以做到的。
接着,用同样的方法,过滤出小于6月30日的数据
分步计算可以简化问题,避免一次写出复杂的公式,对业务人员更加友好
4、求每日股价的增长值
增长值即当天股价减去昨天股价, 这属于“行间运算” 。
首先,追加一列,在d4输入公式:=c4-c3
然后我们获得如下的结果:
在计算表中,公式只需要输入一遍,就可以自动复制到其他具有相同业务意义的单元格,复制后的公式会自动变迁,比如d19中的公式自动变为:c19-c18
跨组的公式如何变迁?比如d26
公式中直接相减是错误的,因为它们不同组。 注意,跨组复制公式时会产生错误,这是电子表格软件的通病。
计算表可以轻松解决这个问题。重新在d4输入公式:=c4[a2]-c3[a2],结果如下:
[a2]表示运算的范围只在a2分组内,这样就不会产生跨组的错误
我们知道d26中的正确结果应该是:d26=c26-null=49.91,下面我们选中d26,查看结果:
d26格的公式变成了:=c26[a25]-c24[a25] = c26[a25]-null=49.91,结果正确!注意:a25这组并不存在c24格,因此c24[a25]=null
上述的计算有赖于公式正确的变迁,而计算表可以正确地做到。
5、计算连续上涨的天数
追加一列,在e4输入公式=if(d4[a2]>0,e3[a2] 1) ,这表示:如果当日股价是上涨的,则将昨天的连涨天数增加1,作为当日的连涨天数。同样的,公式只需输入一次,就会自动复制到同位格中。
同位格:具有相同业务意义的单元格。 比如e4、e5、e24、e26都是明细数据,互称同位格。 c2、c25都属于汇总区,互称同位格
计算表独有的同位格模型,使分组数据中的复杂计算变得异常简单。传统电子表格进行同样的计算需要大量手工 操作
6、计算最大上涨天数
按照同位格的规律,只要求一只股票的最大上涨天数,所有的股票都会自动计算出答案。在第一支股票的汇总区,比如e2,输入公式:={e3}.max()
这里的{e3}表示e3的同位格,即e3到e24
点分组级别”1”可以收缩数据,从而可以更清楚的观察汇总区
此时已经可以直观地看到哪些股票的连涨天数超过5天了,比如上图中的e25、e48、e71、e209、e370等。想要”自动的”将这些汇总区的数据过滤出来,传统电子表格是难以做到的。
7、过滤股票
在f2点右键,选择”filter”,输入:@>=5
过滤出的结果即本案例计算目标
同位格可以清楚地区分汇总区和明细区,在汇总区执行的过滤不会影响明细区。因此计算表可以轻松地实现分组过滤。传统电子表格难以区分汇总和明细,过滤后会发生数据混乱。