Excel透视统计数据

 1增加一列品种,填入公式 =IFERROR(LEFT(C2,IFERROR(FIND("(",C2)-1,FIND("(",C2)-1)),C2) 获取名称规格的中文部分。
2 选中要统计的数据范围(含列名称),工具栏菜单选 插入- 数据透视表(最左边)
3 弹出透视表对话框, 默认值即可,点确定。 设置列值和统计值。
得到透视表。
--http://jingyan.baidu.com/article/f54ae2fc042cc41e92b849cc.html 查找字符串
--http://jingyan.baidu.com/article/624e7459aa90e434e8ba5a8a.html 截取字符串
--http://jingyan.baidu.com/article/b2c186c8f7691fc46ef6ff20.html IF函数使用
--=IFERROR(LEFT(D2,FIND("(",D2)-1),D2)
--===IFERROR(LEFT(C2,IFERROR(FIND("(",C2)-1,FIND("(",C2)-1)),C2)  取右边单元格的字符,截取左边开始数至“(”“(”位置减一长度的子字符。 如果出错,则直接取左边字符。
--====ROUND(C5/B5,2)   保留2位小数
--==================================================分隔线================
create table zyh_test(
xsrq varchar2(50),
pz   varchar2(50),
wzmcjgg varchar2(200),
xssl  number,
xsdj  number,
xsje  number
);
select * from zyh_test for update;
delete from zyh_test;
select substr('澳洲火焰木(10cm)',1,instr('澳洲火焰木(10cm)','(')-1)from dual;
select instr('澳洲火焰木(10cm)','(') from dual;
-----
update zyh_test a set a.pz = substr(a.wzmcjgg,1,instr(a.wzmcjgg,'(')-1) where a.pz is null;
update zyh_test a set a.pz = substr(a.wzmcjgg,1,instr(a.wzmcjgg,'(')-1) where a.pz is null;
update zyh_test a set a.pz = a.wzmcjgg where a.pz is null;
 
select * from zyh_test a where a.pz is null;
 
select a.pz 品种,
       sum(nvl(a.xssl, 0)) 数量,
       sum(nvl(a.xsje,0)) 金额,
       round(sum(nvl(a.xsje, 0)) / sum(nvl(a.xssl, 0)), 2) 平均单价
  from zyh_test a
 group by a.pz;
 
 select * from zyh_test a where a.pz='黑酸枝'
 

猜你喜欢

转载自yhzhangdota.iteye.com/blog/2390977