a********t 发帖数: 1810 | 1 这一个累加公试总是错
If NHStatus(i) = 1 Then 'If elgibile, include in average calculation
MDS(nHomesA, j) = MDS(nHomesA, j) + MDS(i, j) * TotDays(i)
MDS(i,j) 是两列200行的数.
表是这样的:
第一列是ID, 第二列是状态(NHStatus(i)),第三列是MDS(i,1),第四列是MDS(i,2),第五
列 总天数(TotDays(i))
我的公试是:如过状态=1,那么这一行的MDS(i,1)*TotDays(i), MDS(i,2)* TotDays(i)
最后,累加这些值:MD (1,1)*TotDays(1)+MDS(2,1)*TOTDAYS(2)+....MDS(200,1)*
TOTDAYS(200)=MDS(NhomesA,1)
MDS(1,2)*TotDays(1)+MDS(2,2)*TOTDAYS(2)+....MDS(200,2)*TOTDAYS(200)=MDS(
NhomesA,2)
现在问题是Mds(nHomesA,1)... 阅读全帖 |
|
a********t 发帖数: 1810 | 2 I 从1开始的. 一般都是从0开始.
我知道肯定是LOOP有问题.
这一公试全部CODE
'Read MDS Scores
For j = 1 To 6: vDenominator(j) = 0: Next
msg$ = FY + "MDSScores.csv"
Open (fPath$ + "P4P" + FY + "MDSscores.csv") For Input As #1
For j = 1 To 7: Input #1, xx$: Next
While Not EOF(1)
Input #1, xx$: For j = 1 To 6: Input #1, L$(j): Next
PIN(0, 1) = Val(xx$)
For i = 1 To nHomes
If PIN(0, 1) = PIN(i, 1) Or PIN(0, 1) = PIN(i, 2) Then Exit For
Next
For j = 1 To 6
If L$... 阅读全帖 |
|
m*******r 发帖数: 8950 | 3 "现在问题是Mds(nHomesA,1),Mds(NhomesA,2)总是分别多加出一行的Mds(1,1)*Totdays(
1), Mds(1,2)*Totdays(1).就是加了两遍"
只有在一开始的时候, Totdays(i)才是1, Mds(nHomesA,1)的INIITIAL VALUE一旦是MDS
(1,1)就说得通了...
越想越觉得对, 发钱的时候,就咱俩分啊... |
|
vn 发帖数: 6191 | 4 可是结果不象“Mds(1,1)*Totdays(1), Mds(1,2)*Totdays(1).就是加了两遍 ”。。。
不过你一说 可能是和初始条件有关系的 这个nHomesA是啥呀?
还有lz说的到底是程序算的不对 还是自己算的不对啊?
无论如何 这段code不难的 这个钱不难赚 hohoho |
|
a********t 发帖数: 1810 | 5 当i=1时.等号右的"MDS(nHomesA, j)"是MDS(1,1)*Totdays(1). MDS(1,1)=100,
Totdays(1)=44252,所以MDS(nHomesA, j)"=4425200
i的行数是1 to nHomes(200行), NhomesA=Nhomes+2, 就是第202行
谢谢回复
最后这第202行的数是前200行的乘积累加(在NHStatus(i) = 1的情况下),但最后的值总
是要把4425200再多加一遍.
我用MSGBOX 去CHECK 每一行累加的值,到最后一行,VB的值和我EXCEL算的值都MATCH,下
一行没有数了.VB就该STOP 了,可它还给我多蹦出个数,这一个数和最后一行的累加值的
差是4425200. 我就猜可能把第一行又加了一遍?
【 在 mdrealtor (md_realtor) 的大作中提到: 】
j
j |
|
a********t 发帖数: 1810 | 6 有的.
我说的详细些
我有俩表: 表1=MDS, 表2= MASTER
表MDS 里第一列是ID(在VB里用PIN(0,1)表达). 2-7列是参数L$(J)
表MASTER里第一,二列都是ID,P(I,1),P(I,2)表达. 其它的列也是参数,包括 STATUS 和
TOTDAYS这两个.这个表的行数是NHOMES, 它是每年都变的.
VB的目地是把MDS 里的每一ID 都找到在MASTER 文件里的对应的STATUS,TOTDAYS这两个
参数.最后做计算. 最后计算出的值MDS(NHOMESA,J).放在新表里MHOMES+2 那一列
我现在说的值是在L$(2)这一列,, 但L$(J)都是不MATCH的. |
|
H******i 发帖数: 4704 | 7 just a simple touch, it doesn't have to close above 196 |
|
s******1 发帖数: 157 | 8 me.
i bought 300 on friday, limit order sold half @ 194.75. placed another
limit order at 196.10. dont really care. |
|
m*******r 发帖数: 8950 | 9 当i=1 的时候, NHStatus(i) = 1, "MDS(nHomesA, j) = MDS(nHomesA, j) + MDS(i, j
) * TotDays(i)" 等号右边的"MDS(nHomesA, j)"是不是"MDS(1,1)"? 从而导致了多了
MDS(1,1)?
同理, 对另一列... |
|
vn 发帖数: 6191 | 10 要是只有一个包子怎么分?lz先说说给多少啊 这个问题我觉得肯定能搞定的 呵呵
Totdays(
MDS |
|