以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]excel公式计算 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=123419) |
-- 作者:188802386 -- 发布时间:2018/8/14 12:05:00 -- [求助]excel公式计算 我有一个提成公式=ROUND(MAX(E3*{0.16,0.19,0.22,0.25,0.3,0.35,0.4,0.45,0.45,0.45}-{0,300,900,1800,3800,6300,9300,12800,12800,12800},0),2) 请问在系统里面业绩列输入业绩后,提成列通过上面的公司得出相应的金额,请问该如何操作。 E3为业绩列
|
-- 作者:有点甜 -- 发布时间:2018/8/14 12:16:00 -- 写代码计算吧,比较麻烦的。
Dim ary1() As Double = {0.16,0.19,0.22,0.25,0.3,0.35,0.4,0.45,0.45,0.45} Dim ary3(ary1.length-1) As Double |
-- 作者:188802386 -- 发布时间:2018/8/14 12:33:00 -- 甜老师太牛了,结果是我想要得。但能不能解释下是怎么得出来的呢,这代码啃不透,看不懂啊。 |
-- 作者:有点甜 -- 发布时间:2018/8/14 14:46:00 -- 以下是引用188802386在2018/8/14 12:33:00的发言:
甜老师太牛了,结果是我想要得。但能不能解释下是怎么得出来的呢,这代码啃不透,看不懂啊。
比如excel公式是 100*{1,2,3}-{7,8,9}
实际上展开就是 100*1-7,100*2-8,100*3-9,如果再加上max,就是获取三个数的最大值。 |
-- 作者:188802386 -- 发布时间:2018/8/16 12:25:00 -- 列1 {0.16,0.19,0.22,0.25,0.3,0.35,0.4,0.45,0.45,0.45} 列2 {0,300,900,1800,3800,6300,9300,12800,12800,12800} 业绩 10000 sql数据库里有这三列数据,能否用sql语句来计算提成呢
|
-- 作者:有点甜 -- 发布时间:2018/8/16 12:32:00 -- 回复5楼,是无法直接计算的。
如果需要计算,你要在数据库那里添加一个函数,用来分割出值,计算,最后返回一个结果。 |
-- 作者:188802386 -- 发布时间:2018/8/16 13:14:00 -- 甜老师,能详细讲下具体步骤吗,我看到sql里也有max round 函数啊 表里有个提成公式列 {0.16,0.19,0.22,0.25,0.3,0.35,0.4,0.45,0.45,0.45}-{0,300,900,1800,3800,6300,9300,12800,12800,12800} 就是这样的内容 如果这种不得行的话,或者需要怎么改动表 只要能实现sql来计算这个提成就行
[此贴子已经被作者于2018/8/16 13:18:08编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/8/16 14:24:00 -- 1、添加函数,编写计算逻辑
https://www.baidu.com/baidu?wd=sql+server+create+function
2、调用函数返回计算结果。
3、函数的编写类似2楼的代码,自行学习sqlserver编程。 |