qq_29004999 2019-04-17 15:22 采纳率: 0%
浏览 866
已结题

在VBA中使用sum聚合函数能嵌套吗?

在Excel里用VBA计算费用合计和成本支出,得到毛利润,但是因为成本支出的列有许多,而且还涉及到部分计算,所以在计算毛利润的时候一直报错,求大神指点迷津。附关键代码:
sql = "select 发货人,票类 as 产品名称,品名,count(件数) as 批,sum(件数) as 件,sum(重量) as 重,sum(费用合计) as 运费合计,"

sql = sql + "sum(运费+卸车费+装车费+保价费+送货费+转运费1) as 铁路付费, " '没问题

sql = sql + "sum(iif(票类='普通快递',费用合计*0.15,iif(票类='项目物流',费用合计*0.09,费用合计*0.23))) as 送货费付费, "

sql = sql + "sum(费用合计-运费-卸车费-装车费-保价费-送货费-转运费1) as 毛利 " '没问题
sql = sql + "from [" & myWorkName & "$] group by 发货人,票类,品名"

现在关键是毛利应该=费用合计-费用合计-运费-卸车费-装车费-保价费-送货费-转运费1-送货费付费
但在Excel里送货费付费是我自己命名的一列,不能直接调用,最后得到的结果不是真实的结果。在oracle里能直接调用自己命名的列,但是在Excel里不行,有什么其他办法吗?

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-04-17 23:49
    关注

    写成函数,递归调用下。递归在access/excel的sql应该做不了,sql server倒是可以。

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器