Foxtable(狐表)用户栏目专家坐堂 → [求助] Excell 单元格数组公式设置


  共有1996人关注过本帖树形打印复制链接

主题:[求助] Excell 单元格数组公式设置

帅哥哟,离线,有人找我吗?
jweishan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:2096 威望:0 精华:0 注册:2008/9/10 22:48:00
[求助] Excell 单元格数组公式设置  发帖心情 Post By:2017/8/28 16:17:00 [只看该作者]


错误提示:
不能设置类 Range 的 FormulaArray 属性

    Rg = Ws.Range("G3")
    Rg.FormulaArray = _
    "=IF(RC[-2]=""部门计划"",(""C_"" & VLOOKUP(RC[-3],部门范围,2) & RIGHT(TEXT(RC[-6],""0000""),2) & RIGHT(TEXT(RC[-5],""00""),2) & RIGHT(TEXT(RC[-4],""00""),2) & ""_1""),If(RC[-2]=""临时安排"",(""C_"" & VLOOKUP(RC[-1],类别范围,2) & RIGHT(TEXT(RC[-6],""0000""),2) & RIGHT(TEXT(RC[-5],""00""),2) & RIGHT(TEXT(RC[-4],""00""),2) & ""_1""),If(RC[-2] = ""上月顺延"",INDEX(任务编号,SMALL(If(未完成任务处置=""顺延" & _
    "完成任务处置)-2,""""),COUNTIF(R3C5:RC[-2],""上月顺延""))),"""")))"
    Rg.AutoFill (Destination:= Ws.Range("G3:G17"), Type:= MsExcel.XlAutoFillType.xlFillDefault)

这个太折腾人了,用代码来设置报错;在模板文件中设好也报错,会自动删除公式。而这个公式在表中测试是能计算出正确结果的。
这个坎还绕不过去了。查了网上有类似情形,但没有解决方法,请老师指点指点!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/28 16:33:00 [只看该作者]

为什么要用数组公式?直接设置公式不行?

 

Rg.Formula = "xxxxx"


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/28 16:37:00 [只看该作者]

 如果公式不是必须的,为什么不直接计算以后,直接给excel赋值?

 回到顶部
帅哥哟,离线,有人找我吗?
jweishan
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:2096 威望:0 精华:0 注册:2008/9/10 22:48:00
  发帖心情 Post By:2017/8/28 16:40:00 [只看该作者]


@甜版主

不行的。

...... INDEX(任务编号,SMALL(If(未完成任务处置=""顺延" & “完成任务处置)-2,""""),COUNTIF(R3C5:RC[-2],""上月顺延""))),"""") .......

 这段计算必须得是数组公式才算得出来。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/28 16:51:00 [只看该作者]

你确定你公式没有写错?在命令窗口执行下面的代码,拷贝生成的公式到excel去,测试是否有错误。

 

output.show("=IF(RC[-2]=""部门计划"",(""C_"" & VLOOKUP(RC[-3],部门范围,2) & RIGHT(TEXT(RC[-6],""0000""),2) & RIGHT(TEXT(RC[-5],""00""),2) & RIGHT(TEXT(RC[-4],""00""),2) & ""_1""),If(RC[-2]=""临时安排"",(""C_"" & VLOOKUP(RC[-1],类别范围,2) & RIGHT(TEXT(RC[-6],""0000""),2) & RIGHT(TEXT(RC[-5],""00""),2) & RIGHT(TEXT(RC[-4],""00""),2) & ""_1""),If(RC[-2] = ""上月顺延"",INDEX(任务编号,SMALL(If(未完成任务处置=""顺延" & _

    "完成任务处置)-2,""""),COUNTIF(R3C5:RC[-2],""上月顺延""))),"""")))")
 
 

 回到顶部