如题,比如(如下图) C4=(10000+$C$2+D4),C5=(10000+$C$2+D5) ……,Dn由其他公式得到为可变量,$C$2也在随时改变,但C4、C5、C6、……Cn在计算出结果后都必须固定,不再随$C$2和Dn的改变而改变。
请问如何做到,此为举例,实际公式更为复杂,不大可能人工计算后再填写。
用“F9”人工将公式改为数字这种方法工作量极大,因为有上千组数据,不可能每次填完都人工操作。
恳请各位大神支招。
各位大神可能有点误解了,由于$C$2和Dn一直在变,导致已经计算出结果的 C4(输入时间为2014/01/01)、C5(输入时间为2014/01/02)、C6(输入时间为2014/01/03)……也会因此改变,所以即使复制粘贴也不会是第一次计算得到值,故而需要将其固定
再详细点:
C4=(10000+$C$2+D4),C5=(10000+$C$2+D5) ……,Dn由其他公式得到为可变量,$C$2也在随时改变
也就是说,1月1日,我得到一个C4,1月2日,我得到一个C5,但由于$C$2在1月2号变动了,使得昨天(也就是1月1日)得到的C4发生了改变。
所以我需要讲第一次计算出的结果固定下来。
example:
First Day:因为$C$2=5,使得C4=8
Second Day:因为$C$2=9,使得C5=11,却让原本等于8的C4变成了10
æç®åç²æ´çæ¹æ³å°±æ¯å ¨éåå æ ¼-å¤å¶-éæ©æ§ç²è´´-æ°å¼-ç¡®å®
ä¸è¿è¿æ ·åä¸æ¥ï¼å
¬å¼å°±æ²¡äºã
å¦å¤ä¸ä¸ªæ¹æ³å°±æ¯å¨é项-å ¬å¼ä¸è®¾ç½®è®¡ç®æ¹æ³ä¸ºæå¨ã
追é®æ没æä»ä¹åæ³ä½¿å¾åç¬ä¸ä¸ªåå æ ¼æå¨ï¼å ¶ä»åå æ ¼èªå¨
因为每天都有一个新的Cn产生,但我需要他得到结果后就固定下来,而且是历史数据,上千组。
追答那得有一列数据来确定CN的值,是根据天来确定,还是有其它方法
追问C4=(10000+$C$2+D4),C5=(10000+$C$2+D5) ……,Dn由其他公式得到为可变量,$C$2也在随时改变
也就是说,1月1日,我得到一个C4,1月2日,我得到一个C5,但由于$C$2在1月2号变动了,使得昨天(也就是1月1日)得到的C4发生了改变。
所以我需要讲第一次计算出的结果固定下来。
就是用VBA来作,也要确定 根据什么规则来 把 单元格的计算公式改成计算结果。
首先,C2数据从哪里来,是不是就每天生成一个,如果是,则在A里放时间,从1-1到12-1,根据时间,在B里放C2的数据,这样C4、C5。。列就可以换公式得结果了。
其次,如果不是按天来,就必须有一个规则,才能计算,说到底,不是想要C固定下来,是要在A或B中有一列不同的C2(最新仓位)数据。
其实你的应该是这样的
其实由图你就可以看出,随着最新价位的变动,最新权益也在变动,最新权益对可增仓位也有影响,所以这个方法最开始就已经不行了。
即
一月三日的最新价位会影响到一月一日的最新权益发生变化。(这是个例子,请将“最新权益”这样的名称理解为一个无意义的名字而已。)
那你这不是死循环了吗,1月3日的最新价位影响1月1日的最新权益,1月1日的最新权益影响1月1日的 可增仓位,然后要在1月1日把 可增仓位固定下,这可能吗,1月1日的时候不知道1月3日的最新价位呢。
追问因为我只需要第一次的计算结果,1月1日之后最新权益是否变动,1月1日的可增仓位都不需要再改变。
追答说了半天,又转回来了
VBA代码如下:
注意:此代码C列数据自动增加填充,必须保证C列以下数据为空,如下图,C2每变动一次,在C列下自动加一行,所以C列不能有公式,公式用 .range("C"& I)= ......代替
因为每天都有一个新的Cn产生,但我需要这个Cn固定,所以您说的这方法不合适。