找回密码
 立即注册

QQ登录

只需一步,快速开始

cngrain

中级会员

32

主题

118

帖子

656

积分

中级会员

积分
656

活字格认证

cngrain
中级会员   /  发表于:2011-7-14 19:28  /   查看:6763  /  回复:8
我设置的公式为fpSpread.Sheet[0].Cells[0,0].Formula="SUM(A2,A3)",我通过后台加载A2和A3的值,但是Cells[0,0]里面的值没有自动计算出来,请问是怎么回事?

还有一个问题如下:我使用fpSpread.Sheet[0].Cells[0,0].Formula="AVERAGE(B1,B3,B5,B7)",我通过设置该公式计算B1、B3、B5、B7的平均值,但是假设B3为0,我求平均值的时候需要不考虑为0的单元格,请问公式该如何设置?紧急请教中……

8 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-15 09:37:00
沙发
先回答你第一个问题,你第一列有没有设置 CellType 属性。
回复 使用道具 举报
cngrain
中级会员   /  发表于:2011-7-15 09:42:00
板凳
设置了,设置的格式为  FarPoint.Win.Spread.CellType.NumberCellType objNumCell = new FarPoint.Win.Spread.CellType.NumberCellType();
newSheet.Cells[0, 0].CellType = objNumCell;
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-15 09:59:00
地板
我通过以下代码,可以得到计算结果,你在给Cell.Value赋值时数字类型还是字符串类型,如果赋字符串的话是不能自动计算的:

  1.             fpSpread1.ActiveSheet.Cells[0, 0].Formula = "SUM(A2,A3)";
  2.             fpSpread1.ActiveSheet.Columns[0].CellType = new NumberCellType();
  3.             fpSpread1.ActiveSheet.Cells[1, 0].Value = 4;
  4.             fpSpread1.ActiveSheet.Cells[2, 0].Value = 5;
复制代码
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-15 10:07:00
5#
你的第二个问题:你可以调用AVERAGEIF或者AVERAGEIFS公式,详细使用方法你可以查看 Formula Reference 文档。
回复 使用道具 举报
cngrain
中级会员   /  发表于:2011-7-15 10:16:00
6#
第二个问题能不能给出具体的例子?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-15 10:18:00
7#
AVERAGEIF:
AVERAGEIF(A1,B3,D5,E9,L8,L9,"<5000")
AVERAGEIF(R1C1,R3C2,"<>0")

AVERAGEIFS:
AVERAGEIFS(B2:B5,B2:B5,">90",B2:B5,"<100")
AVERAGEIFS(R1C1,R3C2,"<>0")
回复 使用道具 举报
cngrain
中级会员   /  发表于:2011-7-15 11:24:00
8#
这个好像有点问题,我的例子如下:B2.Formula=AVERAGEIF(B3,B4,&quot;&gt;0&quot;)    B5.Formula=AVERAGEIF(B6,B7,&quot;&gt;0&quot;)      然后再设置B1.Formula=AVERAGEIF(B2,B5,B8,B9,&quot;&gt;0)   我需要的是类似这样的公式,但是最后那个公式我用设计器试了一下,好像是设计不了该公式。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-15 16:00:00
9#
http://xa-forum/showtopic-1839.html
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部