以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助]本人三天没解决的难题,请教高手,老师们帮忙解决  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=3088)

--  作者:xiking
--  发布时间:2006/9/24 14:13:00
--  [求助]本人三天没解决的难题,请教高手,老师们帮忙解决
问题:希望能求加权平均值。
     每条记录x乘以对应列的参数,在把所有一行的加起来,成为第八列对应行的结果。

示例:在 标题[结果列][记录一]单元格值=(75*0.3+85*0.2+85*0.4+53*0.5+44*0.65+44*0.4+42*0.2)/(0.3+0.2+0.4+0.5+0.65+0.4+0.2)
得结果58.3396226415094

进阶问题:设计一个对话框或录入窗,点击按钮执行命令如下:
           第x列后加一列得到第x+1列,加权公式自动变为对前x+1列求加权平均值。egd文件下载


--  作者:czy
--  发布时间:2006/9/24 15:28:00
--  
没明白除的值是从那里来的?

试试刷新公式:if(row=1,"",(([第一列]*Cell(1,"第一列"))+([第二列]*Cell(1,"第二列"))+([第三列]*Cell(1,"第三列"))+([第四列]*Cell(1,"第四列"))+([第五列]*Cell(1,"第五列"))+([第六列]*Cell(1,"第六列"))+([第七列]*Cell(1,"第七列")))/(0.3+0.2+0.4+0.5+0.65+0.4+0.2))


--  作者:xiking
--  发布时间:2006/9/24 15:48:00
--  
除的值6是所有参数的和

--  作者:czy
--  发布时间:2006/9/24 15:53:00
--  
那就改成这样:

if(row=1,"",(([第一列]*Cell(1,"第一列"))+([第二列]*Cell(1,"第二列"))+([第三列]*Cell(1,"第三列"))+([第四列]*Cell(1,"第四列"))+([第五列]*Cell(1,"第五列"))+([第六列]*Cell(1,"第六列"))+([第七列]*Cell(1,"第七列")))/(Cell(1,"第一列")+Cell(1,"第二列")+Cell(1,"第三列")+Cell(1,"第四列")+Cell(1,"第五列")+Cell(1,"第六列")+Cell(1,"第七列")))


--  作者:czy
--  发布时间:2006/9/24 15:59:00
--  
第二个问题不能肯定能不能解决,即使能解决公式会是相当复杂,晚上看看能否有变通的方法解决。
--  作者:xiking
--  发布时间:2006/9/24 16:05:00
--  
第一个问题已让我兴奋了一下下,老大真的好厉害哦,第2个问题我就拭目以待罗
--  作者:Tyeb
--  发布时间:2006/9/24 19:22:00
--  
[这个贴子最后由Tyeb在 2006/09/25 10:02pm 第 1 次编辑]

是这样吗?
egd文件下载
--  作者:李兴德
--  发布时间:2006/9/24 19:26:00
--  
1718出来了?

-=-=-=- 以下内容由 李兴德2006年09月24日 07:27pm 时添加 -=-=-=-
我用的还是1716。
--  作者:还不错
--  发布时间:2006/9/25 10:41:00
--  
能不能换个思路,将权值单设成一列。
--  作者:xiking
--  发布时间:2006/9/26 16:24:00
--  
[第 7 楼]的兄弟说的虽然非我本意,但却是另一种思路,让我开了眼界,确实能解决我的问题,在此谢了!敬礼拉