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='黑酸枝'