ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: lrlxxqxa

每天进步一点点并不太难

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-13 23:13 | 显示全部楼层

LOOKUP(2,1/(条件1)*(条件2),查找数组或区域)

LOOKUP比我原本想象的强大.题目中的公式即是在第二参数乱序排列时的妙用
公式解析系列】之LOOKUP(2,1/(条件),查找数组或区域)
与之对比可看[函数入门之查找函数VLOOKUP]

通用公式查找满足条件的最后一个记录:
LOOKUP(2,1/(条件1)*(条件2),查找数组或区域)     
或LOOKUP(1,0/(条件1)*(条件2),查找数组或区域)
条件是一组逻辑判断的值或逻辑运算得到的由TRUE和FALSE组成或者0与非0组成的数组,因而:1/(条件)的作用是用于构建一个由1或者#DIV!0错误组成的值。

在A1:A20内任意输入数字和文本或不输入内容,然后分别输入下面的公式,看看结果是什么。
=LOOKUP(2,1/(A1:A20<>""),A1:A20)
=LOOKUP(2,1/(A1:A20<>""),row(A1:A20))
=LOOKUP(9E+307,A1:A20)
=LOOKUP(9E+307,row(A1:A20))
1、返回最后一行不为空的单元格内容。
2、返回最后一行不为空的单元格行号。
3、返回最后一个数字。
4、返回最后一个数字的行号。

http://club.excelhome.net/viewth ... p;page=1#pid3884303
如何查找“村”字最后出现的位置(已解决)
如:四川省XX市XX区三洲村唱龙村6社12号 需要返回 村字最后的位置 15

=MATCH(1,0/(MID(A1,ROW($1:$99),1)'="村")) 数组公式
=LOOKUP(1,0/(MID(A1,ROW($1:$99),1)'="村"),ROW($1:$99))
=MAX(IF(RIGHT(LEFT(A1,ROW(1:50)))'="村",ROW(1:50)))  数组公式
=LOOKUP(LEN(A1),FIND("村",A1,ROW(INDIRECT("1:"&LEN(A1)))))

[ 本帖最后由 lrlxxqxa 于 2010-11-26 22:19 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-14 15:57 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

使用If{1,0}或者choose{1,2}构建内存数组的原理

[讨论]IF({1,0},A3:A123&C3:C123&E3:E123,D3:D123) 怎么解释啊
讨论]关于IF({1,0},,)与数组变换
字符串可以连接:
"A" & "B" & "C"="ABC";"Aaa"&"Bcd"&"123"="AaaBcd123"
数组也可以连接:
{1,2,3}&{"A","B","C"}={"1A","2B","3C"}
单元格区域也可以连接:
假如A1:A10的数据为1到10,B1:B10的数据为a到j。
A1:A10&B1:B10的结果就是
1a
2b
3c
构建内存数组的实质就是将两个一维数组合并为一个二维数组。需要注意的是在vlookup中构建内存数组时使用的是if{1,0},但在hlookup中使用{1;0},通过这种方法vlookup可以从右往左查,Hlookup可以从下往上查,从而打破了vlookup查找的列必须位于查找区域的最左列,hlookup查找的列必须位于查找区域的最上列的限制。
拓展一下,如遇到 =IF({0,1,1,1},B73:E76,F73:F76)得到的是F&C&D&E
                              =IF({1,1,0,1},B73:E76,F73:F76)得到的是B&C&F&E
变换的规律是:{}中的常量数组四个元素对应IF函数的Value_if_true的四个数列,其中0所在位置,被Value_if_false 对应的数列所替换
与IF变换相比,CHOOSE变换更简单、灵活:
CHOOSE函数可以任意组合: =CHOOSE({1,2,3,4,5},F73:F76,B73:B76,D73:D76,C73:C76,E73:E76)得到F&B&D&C&E
甚至还可以把不同工作表的两个数据源合并成一个内存数组进行查询。

[ 本帖最后由 lrlxxqxa 于 2010-11-26 22:19 编辑 ]

关于IF{1,0}.rar

7.21 KB, 下载次数: 201

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-21 14:49 | 显示全部楼层

万位分隔符在Excel中的应用

如何将手机号码按指定位数分隔?

开始设置后总是不能正确显示,不过在加引号处理后能够正确显示
自定义格式:
###","####","####
00#","000#","000#
000","0000","0000都可以

[ 本帖最后由 lrlxxqxa 于 2010-11-26 22:20 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-21 16:27 | 显示全部楼层

数据透视表合并标志、批量设置汇总

首先是要学会透视表字段的简单“拖拉”,至于格式的设置在后面会陆陆续续的总结http://club.excelhome.net/viewthread.php?tid=447268&page=1#pid2900431
注意问题:
1、关于合并标志的错误不能再次重犯;
2、批量设置透视表汇总区域格式,使用批量选定;
3、对于确定数据源时弹出的提示,主要是为了在同一个文件里面有共享缓存,节约空间,但是几个透视表间的格式不一样时,最好选择否。

[ 本帖最后由 lrlxxqxa 于 2010-11-26 22:21 编辑 ]

20100414.rar

257.91 KB, 下载次数: 196

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-21 16:45 | 显示全部楼层

数据透视表页字段排序、保密设置

透视表当然包括页字段, 但页字段归为"表格标题"更恰当, 不应算作表格; 从实操角度,  老板通常是看不懂页字段的, 他们只要想要的"表格"
所谓的“加密”“解密”是指是否勾选“显示明细数据”。去掉勾选复制到新工作簿中的“透视表”,在勾选“显示明细数据”后依然能够获取数据源表,所以要结合护工作表进行设置才能相对安全。

[ 本帖最后由 lrlxxqxa 于 2010-11-26 22:21 编辑 ]

20100421.rar

258.5 KB, 下载次数: 153

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-21 16:50 | 显示全部楼层

关于学习数据透视表的几点总结

一、概述总结:
透视表名字:Pivot Tables(枢纽表格)
港台地区直译为枢纽分析表,大陆地区叫做数据透视表
透视表的前世今生:
最初不是微软提出的,是Lotus公司提出,1993年开发出,称为Lotus Improv.
微软,接着在1995年开发出Excel5,在Excel97进行了重大改善,开放了缓存,到了Excel2000,引入了数据透视图,目前最新版的是Excel2007
透视表的特点:
快活
计算速度快、学习上手快;布局变换灵活、学习后思维活

二、玩转数据透视表布局
谋定而后动-深入认识数据源结构和透视表的关系
1、        数据源表结构对透视表的影响
2、        用含有合并单元格的数据源表制作数据透视表

在准备创建透视表的时候,首要工作是对数据源的结构进行分析,这样才能根据不同的数据源结构创建出我们期望的数据透视表。
数据源表结构有很多种,比如有数据清单式的(每列属性各不相同),有二维表(一列字段属性相异,多列字段属性相同),有带合并单元格的数据源表。
不同结构的数据源表构成的透视表,即使布局相同,生成方式也不同。相比数据清单式的数据源创建的透视表,二维表的多列属性相同的字段求和项不能复选,取消后只能通过重新拖入来显示;而且没有对列字段进行合计的行合计栏。
有合并单元格的数据源在形成透视表后发现数据错位,如何处理:要把包含合并单元格的列选中,先用格式刷复制到其他列保存,再取消合并单元格,然后F5定位空值,输入公式=A2(有值单元格),Ctrl+Enter,自动填充后,再把提前保存的合计栏格式用格式刷刷回来。

三、神奇的变换:-行字段区域和列字段区的布局及透视表变换

四、玩转页字段:-页字段的使用技巧
1、        选择页字段显示项
2、        重排页字段
3、        分页显示
双击页字段名称,可以弹出字段选项,可以隐藏数据项
在透视表任意位置右击,弹出透视表选项,调整页面布局和每行字段数
数据的舍与得:-学会在数据透视表中选择数据
1、        在行字段或列字段中选择
2、        设置自动筛选的两种方法
在透视表的行字段右边单击筛选;也可以选中列字段点击筛选,列字段区域筛选而行字段保留透视表的筛选方式。
在透视表基础上自动筛选,为数据选择提供了新的功能,使之灵活性更好。

五、透视表的迁移:-数据透视表、数据透视图的复制和移动
1、        透视表的复制与移动
2、        影子数据透视表
3、        数据透视图的复制与移动
利用向导,重新选择透视表的位置来移动
工具-自定义-命令-工具-照相机,拖到工具栏里面,照相机是对单元格区域的动态引用;
按住shift,单击编辑-粘贴图表链接(隐藏选项需要按住shift激活)可复制图形图表,类似照相机功能,也是对单元格区域进行引用。
选中全表的方法:鼠标放在透视表边缘(左上)点击
选中局部的方法:单击区域左上,按住shift单击区域右下
数据透视图里面单击右键,选择“位置”,作为其中的对象插入,然后选择相应的选项,可以移动透视图。

六、追根溯源:-获取数据透视表数据源信息
1、        获取数据源信息
2、        透视表分类项里面显示明细数据
3、        如何禁止显示明细数据
注意要在页字段里面选择全部,而且要在每个字段里面勾选“全部显示”,在右下总计单元格双击,就能得到透视表的原始数据源。
只需要某一部分数据,就双击相应的汇总项单元格
如果在透视表选项的“数据选项”里面去掉勾选“显示明细数据”,再双击单元格就弹出警告“不能更改透视表的某一部分”,不能获取明细数据。
如果不想使用者看到明细数据,只看到汇总信息。选中透视表-去掉勾选“显示明细数据”,打开新的工作簿,然后复制粘贴透视表。这样可对数据源进行保密。

[ 本帖最后由 lrlxxqxa 于 2010-11-26 22:21 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-22 20:37 | 显示全部楼层

数据透视表结合条件格式、宏、vba进行的美化

今天接触到几个之前不熟悉的部分,如宏代码、vba,必须及时总结一下了。

第一部分:课程内容及理解
第二部分:作业的收获

===================================================
一、试穿摩登套装:自动格式
二、个性鲜明DIY
三、智能外观
四、格式保鲜
五、综合实例

====================================================
俗语说“爱美之心,人皆有之”,数据透视表最大的优势在于简洁明快,但我们争取做到内在美与外在美都有,秀外慧中
一、试穿摩登套装
1.快速为数据透视表应用格式
套用格式(两种方法):
(1)数据透视表工具栏,设置报告格式,选择想要套用的格式,确定。
(2)菜单栏格式,自动套用格式,确定。
2.四类自动格式的区别与特点
(1)报表:report,数据区域呈缩进形态、一维表格。
(2)表:table,二维表格,数据区域不带缩进
(3)传统数据透视表:数据透视表的默认格式,可用于把套有格式的透视表恢复原状态;
(4)无:把数据透视表变得不像透视表,比如去掉透视表数据区域上方的“数据”,伪装成普通表格,这就是无格式的用处。
     快速为数据透视表应用格式,可点击工具条的“报告格式”,也可点击格式-自动套用格式。自动格式共计4类22种10种报表10种表1种传统1种无格式
3.自动格式的优点与缺点
优点:
(1):只要把菜单点开选择相应的格式就可以选择你喜欢的报表形式。
(2)自动保鲜:当你对透视表套用了一个自动格式以后,这个格式其实已经不是衣服这么简单了,它其实像透视表的一个皮肤,无论你的透视表发生什么样的布局改变,内容如何的刷新,内容有增长还是减少,内容的筛选,完全不影响你套用的格式,如果不是自动套用格式,那么无法达到与透视表这种无缝结合的这个特点
缺点:
(1)样式太少了(22个):审美疲劳。
(2)不支持自定义(自己设计一套格式存在里面):只有应用,确定的按钮,没有自定义。
二、个性鲜明DIY
1、显示或隐藏透视表的行、列总计
2、显示或隐藏透视表的分类汇总项
3、显示或隐藏透视表的明细项
4、合并居中显示标题内容
5、每项后面插入空行
6、设置错误值的显示方式
7、处理“空白”
8、设置单元格格式


EXCEL本身提供的套装如果满足不了你的需求,那么可以自己动手做有个性的套装(个性化),让EXEL打上你的性格烙印。
1.显示或隐藏透视表的行、列总计
在修饰你的透视表以前,要检视透视表是否已经达到了你需要表达的内容都显示了,你不需要表达的内容都隐藏了这样的效果。
方法:
隐藏:
(1)把鼠标移到行总计列的上面,当鼠标变成一个向下的箭头,单击鼠标右键,在弹出的菜单选项里选择“隐藏”。
(2)单击透视表任一单元格,鼠标右键,弹出的菜单中,选择“表格选项”,格式选项下,勾选掉“列总计”或者是“行总计”。
显示:
单击透视表任一单元格,鼠标右键,弹出的菜单中,选择“表格选项”,格式选项下,勾选“列总计”或者是“行总计”。
2.显示或隐藏透视表的分类汇总项
如果行字段或者列字段有多个的时候,会默认出现分类汇总的项目,相当于分类汇总小计。
隐藏:
(1)把光标停在一个分类汇总项,当光标变成向右的箭头,单击鼠标左键,所有的分类汇总项就都会被选中(启用选定内容特性),单击鼠标右键,弹出的菜单中选择“隐藏”。
(2)双击第一列的行字段名称,弹出数据透视表字段对话框,分类汇总选项下选择“无”,确定。
显示:
你隐藏的哪一列的分类汇总,就双击哪一列的行字段名称,弹出数据透视表字段对话框,分类汇总选项下选择“自动”或“自定义”,确定。(自动就是求和,自定义可以改变当前的汇总方式,如计数等等)
如何启用选定内容特性
单击鼠标右键,弹出的菜单中“选定”下面有一个“启用选定内容”,单击即可。注意此选项启用后才可批量选定!
3.显示或隐藏透视表的明细项
在透视表里面不允许隐藏单个的单元格,同时,因为透视表是一个整体区域,不能去删除、插入,这时候如果透视表里面有你不想让它出现的明细项,这时候就需要让明细项按我们所需要的显示或隐藏。
如我不想显示某个人销售了哪种品种的销售金额,只想显示某个人总共的销售额。或者一些项目我想看明细,一些项目我不想看明细,这时候就可以采用显示和隐藏明细项的功能。
隐藏:
(1)单击想隐藏明细项的数据项,鼠标右键,弹出的菜单选项选择“组及显示明细数据下的隐藏明细项目。
(2)双击想隐藏明细项的数据项,即可隐藏下一级的明细项。
显示:
(1)双击已经隐藏明细项的数据项,即可显示下一级的明细项。
说白了就是双击能够切换隐藏或显示的效果
4.合并居中显示标题内容        
普通表格里面尽量不要选择合并居中。
在透视表任一单元格,单击鼠标右键,表格选项,勾选合并标志。
注:透视表的居中是对整个表生效的。与菜单中的合并居中不同
5.每项后面插入空行
双击字段名称,布局,显示选项下,勾选“每项后面插入空行”,确定。
6.设置错误值的显示方式
在透视表任一单元格,单击鼠标右键,表格选项,格式选项,勾选对于错误值,显示(),确定。
注:()内可以为空,或者“错误”,或者“×”,(alt+小键盘41409)按你自己的需求。
录入特殊字符的快捷方法:
7.处理“空白”
(1)对于数据项有“空白”
在透视表任一单元格,单击鼠标右键,表格选项,格式选项,勾选“对于空白选项,显示()
注:()中可以输入你想显示的内容。
(2)对于行字段有“空白”
选中任保包含空白的内容,复制,查找替换,查找内容粘贴刚才复制的内容,替换为空格为什么要换成空格呢,因为无法替换成"",透视表不认
8.设置单元格格式
(1)行标题:可以换一个背景,进行填充、加粗。
(2)汇总项:启用选定内容,进行填充背景,字体加粗,变换字体颜色。
(3)数据区域:设置数字格式,选中表格,单击“千分位分隔符的数字”快捷键,利用手动设置单元格格式,不一定能让格式持久保鲜,所以,设置数据格式区域的时候,除了手动设置的方式,最好还是进入数据字段的字段设置里面去做设置
如:做求和项的金额,双击字段,数据透视表字段,数字下进行相应的设置,确定,确定。
三、智能外观
通过自定义数字格式、条件格式,让你的数据透视表有一个智能的外观,在DIY的基础上更近一步,可以像变色龙一样,随着环境的变化,随着需求的变化,随着数据源的更新而去做一个变动。
1.改变数值的显示方式(自定义数字格式)
如课程显示方式为“√”
(1)全部选中,设置单元格格式。
(2)双击计数项,数据透视表字段,数字,自定义,类型中输入“√”,确定,确定。如果想让√变成红色,则在自定义类型下面输入[红色]“√”即可。注意这里可使用格式刷但不能永久保存
如班级下面是纯数字想在数字后面加一个班字
双击班级,数字,自定义类型下面输入G/通用格式“班”,确定,确定。
自定义数字格式什么时候能用?
只能对有数字的字段去设置。因为文本字段菜单中没有此项显示。
2.隐藏零值
(1)工具,选项,视图,勾选掉“零值”。
(2)只希望零值不在透视表中显示,并且出现负数的需要标注出来:
双击字段名,数据透视表字段选择数字,数值,选择负数用红字显示格式,这时点击自定义,你会发现一个代码,然后在代码的后面输入;;,确定,确定。
代码分成四段:正数;负数;零;文本
3.突出显示符合条件的数值
(1)按数值大小
500以上用红颜色表示,500以下用蓝颜色表示。
①自定义设置格式
双击字段名,数字,自定义类型下面输入[红色][>500]G/通用格式;[蓝色][<500]G/通用格式
②选中数据区域,
格式,条件格式,单元格数值,大于,500,格式,颜色,蓝颜色,确定。
添加条件
单元格数值,小于,500,格式,颜色,红颜色,确定。
(2)按目标值差距
数据透视表中的某一列数值与某一个目标值比对的结果,根据这个结果去做相应的突出显示。
选中合同结束列,格式,条件格式,公式,=E5<$H$1,格式,图案绿色
选中合同结束列,格式,条件格式,公式,=E5-“2007-9-30”<0,格式,图案绿色
4.永恒的边框
传统透视表格式的风格里,只有标题行、标题列、总计稍微有一些边框线,通过边框添加表格线,刷新后就没有了。
(1)寻找每行都有数据的列与每列都有数据的行
有一个基准来判断当前的单元格是不是应该有边框线,因为透视表是可以筛选的,如果你选择了很大的区域设置了边框线,当你筛选部分的时候边框线就会多出来。这时候就要设置每行都有数据的列与每列都有数据的行。
(2)设置条件格式
选中透视表,格式,条件格式,条件1,公式后面输入,=and($A5<>”’,A$5<>””),意思是当前行当前列有数据才加边框线,格式,边框,外边框,确定,确定。
使用条件格式:
优点:简单易行,无需代码。
缺点1:如果行字段或者列字段中有“空项目”,那么数据透视表的公式就不像下图中那么简单了,大家可以研究一下如何完善条件格式公式。
缺点2:如果改变透视表布局,比如添加字段后透视表区域将“扩大”,那么新增加的单元格区域无法自动添加条件格式,因此没有“永恒边框”,也就是说这种实现方法无法自适应扩展。
(3)问题:如何创建通用的条件?
在考虑透视表的行总计和列总计是否要显示的情况,对于切换行总计和列总计布局时的边框线显示,要用到深入一些的函数知识,比如用到counta函数,计算从第一行(列)到当前行(列)的是否大于1,这里和前一段学习的函数知识结合起来了
=AND($A5<>"",A$5<>"",COUNTA($A$5:$A5)>1,COUNTA($A$5:A$5)>1)
原理就是计算从数据区域第一行(列)到当前行(列)是否存在数据,如果存在就打上边框。

四、格式保鲜
在EXCEL2003里面,如果你的格式设置以后,当你的某些情况、外在环境或者是你的布局发生了某些变化的时候,格式可能会丢失,那么针对不同的透视表的变化情况,格式会产生不同的影响,这时候我们可以选择EXCEL一些相应的设置选项或者一些技术去帮助大家能够以不变适应万变,不会受到数据透视表的影响,也就是保鲜,让它能够持久的保持。
1.注意透视表美化后的格式丢失问题
(1)尽量使用字段属性
(2)借助条件格式
重点在于变化中边框的设置
2.解决列宽问题
(1)设置表格选项
透视表创建,在表格选项下面,会自动套用格式(传统数据透视表格式),设置列宽后,把表格选项下面,勾选掉自动套用格式,确定。再刷新的时候,列宽就不会变化了。
优点:最简便的一种方式。
缺点:从此以后不能再使用透视表的自动格式了。
(2)利用空格
保持自动套用格式的同时,还想保持列宽的方法:
在列字段的标题两侧加空格来达到你想要的列宽,加空格后刷新就可以看到列的变化。
(3)借助宏(终极武器)
①录制一段宏(重新设置列宽的宏)。
②在工作表标签上按鼠标右键,查看代码,会出现一个界面,在工作簿名的下方有一个模块,双击模块,在右边会出现一段代码,复制代码,然后点击左边工作表的名称,点击Worksheet,PivotTableUpdate
然后把代码复制到里面,
题目1代码如下:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
    Columns("B:D").ColumnWidth = 12
    Columns("e:e").ColumnWidth = 20
End Sub
这样解决了设置多列多重列宽时,只显示最后一个设置的问题
(3)解除数据透视表的列数限制
数据透视表创建多个字段的时候,对行与列有一定的限制(行字段达到6个或以上的时候,只能加入一个数据区域,否则就会报错)。
创建技巧:
先拖数据区域的字段(拖后移到列字段,使其并排显示),再拖行字段
五、美化实例
把前面的功能串起来,来介绍从头到尾介绍如何美化数据透视表,把前的的技巧融会贯通一下。
1.页字段的美化
表格选项,页面布局,水平并排,每行字段数X
2.自动套用格式
选择自动套用格式中的无,表格选项,勾选合并标志。
3.设置自动筛选
将数据区域设置为自动筛选。
选中数据区域最后一个字段旁边的空白单元格,数据,筛选,自动筛选。
4.批量设置汇总项(填充背景、加粗,大小等)
批量选中汇总项(启动透视表的启用选定内容),汇总项填充颜色,总计填充颜色并加粗字体等等。
5.设置数值字段的显示方式
双击相应的字段,数字,数值,使用千位分隔符,数量不需要小数位数,小数位数为0,确定,确定。
6.标题行的设置
选中标题行,设置背景颜色,字体颜色。
第一列可以设置字体加粗,设置字体颜色。
7.永恒的边框线
选中整个透视表,格式,条件格式,条件1,公式=e28<>””,确定,确定。
重新设置整个表格的字体。
8.取消表格中默认的网格线
工具,选项,视图,勾选掉网格线,确定。
9.为整个工作表添加一个背景
格式,工作表,背景,从电脑中选择一张图片(尽量简单一些的、色彩稍微明亮一点的、接近于白颜色亮色系的图片),插入。
在A列插入一列,这样可以让透视表居中且可以看到左边的边框线。
======================================================
第二部分:做作业得到的收获
一、作业1中用宏设置多列不同列宽时,只显示最后一种设置。解决方法上面已经有了;注意引用工作表是,位于从左到右第一个位置的工作表为sheet(1),第二个为sheet(2),第一个透视表即是PivotTable(1),以此类推。
二、作业2中设置永恒的边框的通用条件格式公式
=AND($A5<>"",A$5<>"",COUNTA($A$5:$A5)>1,COUNTA($A$5:A$5)>1)
三、用vba控制透视表筛选字段和页字段的隐藏与显示
必做题不多说了,直接设置透视表字段的下拉属性即可,详见代码;对于选做题,由于要随着按钮的点击切换透视表字段下拉按钮的隐藏与切换,故需设置条件可否两种过程函数,而且在隐藏透视表字段按钮的同时也要隐藏透视表页面字段。在这里正经卡了1.5小时没有实现,最后仔细审题看图才发现了细节的关键(隐藏页面字段所在行)
必须提醒自己的是:单词“true”不能再打错了,就因为打成了"ture"害的自己白白耽误一小时对着vba相面查错◎#¥%◎#%◎#&*!
必做题:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Dim i As Integer
For i = 1 To Sheets(1).PivotTables(1).PivotFields.Count
Sheets(1).PivotTables(1).PivotFields(i).EnableItemSelection = True
Next
End Sub
选做题:

Private Sub CommandButton1_Click()
If CommandButton1.Caption = "去掉下拉箭头" Then yes Else no
End Sub

Sub no()
    Rows("5:5").EntireRow.Hidden = False
    Dim i As Integer
        For i = 1 To Sheets(2).PivotTables(1).PivotFields.Count
            Sheets(2).PivotTables(1).PivotFields(i).EnableItemSelection = True
  CommandButton1.Caption = "去掉下拉箭头"
        Next
End Sub

Sub yes()
    Rows("5:5").EntireRow.Hidden = True
    Dim i As Integer
                 For i = 1 To Sheets(2).PivotTables(1).PivotFields.Count
            Sheets(2).PivotTables(1).PivotFields(i).EnableItemSelection = False
CommandButton1.Caption = "恢复下拉箭头"
        Next
End Sub


[ 本帖最后由 lrlxxqxa 于 2010-11-26 22:22 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-23 23:08 | 显示全部楼层

数据透视表加入计算字段&设置字段格式

怎么用字段设置把成功率设置成百分比?

计算项要求一个字段只能出现在透视表的一个区域内。如果不遵守,则弹出了以下错误信息:其中某个字段(状态)被多次使用,该字段是在数据区域内使用两次或多次,或是同事在该区域及其他区域中使用。
解决方法是可以在值字段中使用其他字段计数.

设置字段格式的时候注意是在数据透视表数据区域的任意单元格设置,对所有单元格起作用;
除了使用[<1]0.00%;G/通用格式设置百分比外,把[<1]#.00%里面的#换成0,也可以实现目的.

[ 本帖最后由 lrlxxqxa 于 2010-11-26 22:22 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-24 11:24 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

数据透视表使用方法精要12点

http://club.excelhome.net/viewthread.php?tid=50735&extra=page%3D1

蓝色项未完全理解,有待进一步学习。

1、Excel数据透视表能根据时间列和用户自定时间间隔对数据进行分组统计,如按年、季度、月、日、一周等,即你的数据源表中只需有一个日期字段就足够按照(任意)时间周期进行分组了;2、通常,透视表项目的排列顺序是按升序排列或取决于数据在源数据表中的存放顺序;
3、对数据透视表项目进行排序后,即使你对其进行了布局调整或是刷新,排序顺序依然有效;
4、可以对一个字段先进行过滤而后再排序;
5、内部行字段中的项目是可以重复出现的,而外部行字段项目则相反;
6、通过双击透视表中汇总数据单元格,可以在一个新表中得到该汇总数据的明细数据,对其可以进行格式化、排序或过滤等等常规编辑处理;决不会影响透视表 和源数据表本身;
7、以上第6点对源数据是外部数据库的情况尤其有用,因为这时不存在单独的直观的源数据表供你浏览查阅;
8、透视表提供了多种自定义(计算)显示方式可以使用;
9、如果源数据表中的数据字段存在空白或是其他非数值数据,透视表初始便以“计数”函数对其进行汇总(计算“计数项”);
10、透视表在进行TOP 10排序时会忽略被过滤掉的项目,因此在使用此功能时要特别注意;
11、在一个透视表中一个(行)字段可以使用多个“分类汇总”函数;
12、在一个透视表数据区域中一个字段可以根据不同的“分类汇总”方式被多次拖动使用。

[ 本帖最后由 lrlxxqxa 于 2010-11-26 22:23 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-24 12:32 | 显示全部楼层

数据透视表对不同工作簿的汇总

http://club.excelhome.net/viewthread.php?tid=155329&extra=page%3D1

下面总结一下:主要是说说制作过程。

第一步:先要在附表1-2月,3-4月,5-6月,7-8月中定义名称。
定义名称中的公式设置为:
表1-2月, AA=OFFSET('1月'!$A$1,0,0,COUNTA('1月'!$A:$A),COUNTA('1月'!$1:$1))
 或    AA=OFFSET('1月'!$A$1,,,COUNTA('1月'!$A:$A),COUNTA('1月'!$1:$1))

第二步:按如下步奏生成多重合并计算区域的数据透视表
区域的引用,必须要将汇总表及4张附表全部打开。更新时也要将数据源表打开再更新。

第三步:生成汇总表后进行排序,本题主要是用手动排序。(附表添加辅助列也可自动排序,用于本题较麻烦)
手动排序简便的方法:选中后拖住上边缘,鼠标出现十字时拖动即可变换位置。

第四步:添加计算项
公式如下:
主营业务利润率%=主营业务利润/主营业务收入
  营业利润率%=营业利润/主营业务收入
    利润率%=利润总额/主营业务收入
   净利润率%=净利润/主营业务收入

第五步:进行字段设置,检验数据更新
数据区右键点击字段设置,求和。

[ 本帖最后由 lrlxxqxa 于 2010-11-26 22:24 编辑 ]

多表汇总多重计算.rar

19.42 KB, 下载次数: 205

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-21 16:58 , Processed in 0.035510 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表