计算表demo案例-欧洲杯在线开户

目标

从excel中获取多个股票的日交易数据,计算出哪些股票在上个月里连续上涨超过5天。

escalc to compute stock rise on consecutive days-1
原始数据在excel中,右边计算表中的是最终的计算结果。

步骤

1、数据整理

导入excel,删除多余的列

escalc to compute stock rise on consecutive days-2

2、按照股票分组

在a2格点右键,选择”quick operation–group”

escalc to compute stock rise on consecutive days-3

分组后的结果如下图所示:

escalc to compute stock rise on consecutive days-4

注意:快捷操作中的分组会自动排序。如要更细致的设置,可以使用普通操作。

3、按照时间过滤

过滤出小于6月30日且大于6月1日的数据。

注意:在计算表中,这个计算可以一步完成,也可以分为2步,即先计算大于6月1日的数据,再在结果上计算小于6月30日的数据。

首先,在b3点右键,选择”operation-filter

escalc to compute stock rise on consecutive days-5

输入一次公式,所有分组均被过滤,这样就过滤出了大于6月1日的数据。注意,计算表可以在分组后过滤明细数据,这是传统电子表格难以做到的。

接着,用同样的方法,过滤出小于6月30日的数据

escalc to compute stock rise on consecutive days-6

分步计算可以简化问题,避免一次写出复杂的公式,对业务人员更加友好

4、求每日股价的增长值

增长值即当天股价减去昨天股价, 这属于“行间运算” 。

首先,追加一列,在d4输入公式:=c4-c3

escalc to compute stock rise on consecutive days-7

然后我们获得如下的结果:

escalc to compute stock rise on consecutive days-8

在计算表中,公式只需要输入一遍,就可以自动复制到其他具有相同业务意义的单元格,复制后的公式会自动变迁,比如d19中的公式自动变为:c19-c18

escalc to compute stock rise on consecutive days-9

跨组的公式如何变迁?比如d26

escalc to compute stock rise on consecutive days-10

公式中直接相减是错误的,因为它们不同组。 注意,跨组复制公式时会产生错误,这是电子表格软件的通病。

计算表可以轻松解决这个问题。重新在d4输入公式:=c4[a2]-c3[a2],结果如下:

escalc to compute stock rise on consecutive days-11

[a2]表示运算的范围只在a2分组内,这样就不会产生跨组的错误

我们知道d26中的正确结果应该是:d26=c26-null=49.91,下面我们选中d26,查看结果:

escalc to compute stock rise on consecutive days-12

d26格的公式变成了:=c26[a25]-c24[a25] = c26[a25]-null=49.91,结果正确!注意:a25这组并不存在c24格,因此c24[a25]=null

上述的计算有赖于公式正确的变迁,而计算表可以正确地做到。

escalc to compute stock rise on consecutive days-13

5、计算连续上涨的天数

追加一列,在e4输入公式=if(d4[a2]>0,e3[a2] 1) ,这表示:如果当日股价是上涨的,则将昨天的连涨天数增加1,作为当日的连涨天数。同样的,公式只需输入一次,就会自动复制到同位格中。

escalc to compute stock rise on consecutive days-14

同位格:具有相同业务意义的单元格。 比如e4、e5、e24、e26都是明细数据,互称同位格。 c2、c25都属于汇总区,互称同位格

escalc to compute stock rise on consecutive days-15

计算表独有的同位格模型,使分组数据中的复杂计算变得异常简单。传统电子表格进行同样的计算需要大量手工 操作

6、计算最大上涨天数

按照同位格的规律,只要求一只股票的最大上涨天数,所有的股票都会自动计算出答案。在第一支股票的汇总区,比如e2,输入公式:={e3}.max()

escalc to compute stock rise on consecutive days-16

这里的{e3}表示e3的同位格,即e3到e24

点分组级别”1”可以收缩数据,从而可以更清楚的观察汇总区

escalc to compute stock rise on consecutive days-17

此时已经可以直观地看到哪些股票的连涨天数超过5天了,比如上图中的e25、e48、e71、e209、e370等。想要”自动的”将这些汇总区的数据过滤出来,传统电子表格是难以做到的。

7、过滤股票

在f2点右键,选择”filter”,输入:@>=5

escalc to compute stock rise on consecutive days-18

过滤出的结果即本案例计算目标

escalc to compute stock rise on consecutive days-19

同位格可以清楚地区分汇总区和明细区,在汇总区执行的过滤不会影响明细区。因此计算表可以轻松地实现分组过滤。传统电子表格难以区分汇总和明细,过滤后会发生数据混乱。

网站地图