EXCEL自动匹配单价求乘积

EXCEL自动匹配单价求乘积,第1张

建议在"表一"的后面加一列"单价":

C2=IF(A2="","",B2*VLOOKUP(A2,表二!A:B,2,))

将公式向下复制.

对C列求和即可.

另外,你表二中如果同一品名有两种单价(如Z)就不知道你要哪种单价了.

表名:tj

列名: id 序号 int型 | cx 车行 int型

表内容:

id cx

15 5

25 5

34 5

44 4

55 4

根据你的要求执行下面的语句:

select cx,count(*),case cx when 4 then count(*)*20 when 5 then count(*)*25 else 0 end

from tj

group by cx

结果:

cx(车型) 过车数 收费数

4 2 40

5 3 75

不知道是否符合你的要求,希望对你有帮助

乱七八糟的,哪看得清。不是你表述不清楚啊,是你的做法太繁琐了,我都明白你的意图,做法真的太复杂,ACCESS表没必要这么做,直接在ACCESS表里做查询就行了。本身就存在两个多余的事:

1. ACCESS表建立在意个表数据库就行了

2. 建立表的时候金额数据类型的就设置默认值是0就好了,是空值不方便计算

如果你 一定要那么建立,办法肯定是有的,也不是很难。给两个思路:

方法一 你上面ADO代码不成问题就直接改一句SQL语句就好了(假如你的连接字符串是连接projectinfo.mdb的)

Dim sql1 as String

sql1="Select 编号 as 填入边傲, 子目名称, 数量, 单价, 数量*单价 as 总价 From (Select * From 工程量清单) as 查询1 Inner Join (Select * From 定额 IN ODBC[ODBC:Provider=Microsoft.Jet.OLEDB.4.0Data Source="quantity.mdb表路径"]) as 查询2 ON (查询1.编号=查询2.编号 and 查询1.子目名称=查询2.子目名称)"

sql2="Insert into 工程造价 Select * from " + sql1 + " as 查询3 Inner Join 工程造价 on 查询3.编号=工程造价.编号 and 查询3.子目名称=工程造价.子目名称 where ((工程造价.编号) is null)"

你看到没有,语句我用到了子查询、ODBC库跨数据库查询、按格式拼接字符串、连接查询。

语句你还需要检查一下,我还没测试过。

方法二 直接在projectinfo.mdb里做个连接表,连接quantity.mdb里的表,查询视图里连接查询工程量清单和定额表。就让他显示5个制作好的字段,把编号和子目名称连接起来匹配两个表的特征解释。保存这个查询叫查询明细表,把查询明细表插入到工程造价表里。

SQL语句就直接这么写:

sql2="Insert into 工程造价表 select 填入边傲,子目名称,数量,单价,总价 from 查询明细表 inner join 工程造价表 on 查询明细表.填入边傲=工程造价表.填入边傲 and 工程造价表.子目名称=工程造价表.子目名称 where ((工程造价表.填入边傲) is null)"

我的插入语句一直在检查是否重复再插入,你说是不,重复了就不让他插入,但第二句 *** 作时间能比第一句速度快上一倍。

你看懂没有。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9999262.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存