chrisfang的Excel大全
  • 单元格区域选取的多种方法

    2012-10-15
    01

    要选取一个单元格区域,除了常规的鼠标拖选,还有多少其他的可行方法?
    如果有数万行数据要去选取,怎么操作最快?
    在包含隐藏行列的情况下如何仅对可见部分进行操作?
    多表区域如何选取?
    阅读全文 »

    作者: chrisfang | 分类: Excel技巧 | 阅读: 16,852 次浏览 | Tags:
  • 自适应下拉菜单

    2012-10-11
    3

    很多人可能知道,使用Excel【数据有效性】当中的【序列】功能,可以在单元格内创建一个下拉菜单,在进行输入时可以在下拉菜单中选择项目。这样的下拉菜单可以提高用户输入时的准确性和便利性。
    阅读全文 »

    作者: chrisfang | 分类: Excel技巧 | 阅读: 18,892 次浏览 | Tags:
  • 记录清单比对的常用技巧

    2012-05-30

    经常被人问到怎么对两份数据进行比对,提问的往往都很笼统,其实比对有很多不同的情况,一两句话很难说清楚,所以还是写些详细的文字来说明吧。

    在工作中,有时候会需要对两份内容相近的数据记录清单进行比对,需求不同,比对的的目标和要求也会有所不同。下面根据几个常见的不同场景介绍一下Excel当中清单比对查找的技巧。

    场景1,比对取出两表的交集(相同部分)

    记录清单比对的常用技巧

     

    Sheet1中包含了一份数据清单A,sheet2中包含了一份数据清单B,要取得两份清单共有的数据记录(交集),也就是要找到两份清单中的相同部分。

    方法1:高级筛选

    高级筛选是处理重复数据的利器。

    选中第一份数据清单所在的数据区域,在功能区上依次单击【数据】——【高级】(2003版本中菜单操作为【数据】——【筛选】——【高级筛选】),出现【高级筛选】对话框。

    在对话框中,筛选【方式】可以根据需求选取,例如这里选择“将筛选结果复制到其他位置”;【列表区域】就是之前所选中的第一份数据清单A所在的单元格区域;【条件区域】则选取另外那份清单B所在的单元格区域。如下图所示:

    记录清单比对的常用技巧

     

    点击【确定】按钮后,就可以直接得到两份清单的交集部分,效果如下图。其中两个清单中虽然都有【西瓜】和【菠萝】,但是由于数量不一致,所以没有作为相同记录被提取出来。

    记录清单比对的常用技巧

     

    这个操作的原理,就是利用了高级筛选功能对于匹配指定条件的记录进行筛选的功能,把两张表中的任意一张作为条件区域,在另外一张表中就能筛选出与之相匹配的记录,忽略掉其他不相关的记录。

    需要注意的是,使用高级筛选的时候务必注意两个清单的标题行要保持一致(高级筛选中作为条件区域的前提),并且在选取【列表区域】和【条件区域】的时候都要把标题行的范围包含在其中。

     

    方法2:公式法

    使用公式进行比对的方法有很多,如果是单列数据对比比较常用的函数是COUNTIF,如果是多列数据记录对比,SUMPRODUCT函数比较胜任。

    在其中一张清单的旁边输入公式:

    =SUMPRODUCT((A2&B2=Sheet2!A$2:A$13&Sheet2!B$2:B$13)*1)

    并向下复制填充。其中的Sheet2!A$1:A$13Sheet2!B$2:B$13是另一张清单中的两列数据区域,需要根据实际情况修改。公式结果等于1的记录就是两个清单的交集部分,如下图所示:

    记录清单比对的常用技巧

     

    场景2,取出两表的差异记录

    要在某一张表里取出与另一张表的差异记录,就是未在另外那张清单里面出现的部分,其原理和操作都和上面第一种场景的差不多,所不同的只是筛选后所选取的集合正好互补。

    方法1:高级筛选

    先将两个清单的标题行更改使之保持一致,然后选中第一份数据清单所在的数据区域,在功能区上依次单击【数据】——【高级】,出现【高级筛选】对话框。在对话框中,筛选方式选择“在原有区域显示筛选结果”;【列表区域】和【条件区域】的选取和前面场景1完全相同,如下图所示:

    记录清单比对的常用技巧

     

    点击【确定】完成筛选,将筛选出来的记录全部选中按【Del】键删除(或做标记),然后点击【清除】按钮(2003版本中为【全部显示】按钮)就可以恢复筛选前的状态得到最终的结果,如下图所示:

     记录清单比对的常用技巧

     

    方法2,公式法

    使用公式的话,方法和场景1完全相同,只是最后需要提取的是公式结果等于0的记录。

     

    场景3,取出关键字相同但数据有差异的记录

    前面的两份清单中,【西瓜】和【菠萝】的货品名称虽然一致,但在两张表上的数量却不相同,在一些数据核对的场景下,就需要把这样的记录提取出来。

    方法1:高级筛选

    高级筛选当中可以使用特殊的公式,使得高级筛选的功能更加强大。

    第一张清单所在的sheet里面,把D1单元格留空,在D2单元格内输入公式:

    =VLOOKUP(A2,Sheet2!$A$2:$B$13,2,0)<>B2

    然后在功能区上依次单击【数据】——【高级】,出现【高级筛选】对话框。在对话框中,筛选方式选择“在原有区域显示筛选结果”;【列表区域】选取第一张清单中的完整数据区域,【条件区域】则选取刚刚特别设计过的D1:D2单元格区域,如下图所示:

     记录清单比对的常用技巧

    点击【确定】按钮以后,就可以得到筛选结果,就是第一张中货品名称与第二张表相同但数量却不一致的记录清单,如下图所示:

     记录清单比对的常用技巧

     

    同样的,照此方法在第二张清单当中操作,也可以在第二张清单中找到其中与第一张清单数据有差异的记录。

    这个方法是利用了高级筛选中可以通过自定义公式来添加筛选条件的功能,有关高级筛选中使用公式作为条件区域的用法,可参考下面这篇博文:

    数据库函数和高级筛选条件区域设置详解

     

    方法2:公式法

    使用公式还是可以利用前面用到的SUMPRODUCT函数,在其中一张清单的旁边输入公式:

    =SUMPRODUCT((A2=Sheet2!A$2:A$13)*(B2<>Sheet2!B$2:B$13))

    并向下复制填充。公式中的包含了两个条件,第一个条件是A列数据相同,第二个条件是B列数据不相同。公式结果等于1的记录就是两个清单中数据有差异的记录,如下图所示。这个例子中也可以使用更为人熟知的VLOOKUP函数来进行匹配查询,但是VLOOKUP只适合单列数据的匹配,如果目标清单中包含了更多字段数据的差异对比,还是SUMPRODUCT函数的扩展性更强一些。

     记录清单比对的常用技巧

     

    作者: chrisfang | 分类: Excel技巧 | 阅读: 12,649 次浏览 | Tags:
  • 数据库函数和高级筛选条件区域设置详解

    2012-05-30

    ————————————————以下原文发表于2010年7月——————————————

    使用数据库函数和使用高级筛选功能十分相似,都需要设定【条件区域】,并在应用中指明【条件区域】所在位置。

    以下面的数据表格为例,对于条件区域的设置,有以下几方面需要注意的内容:
    数据库函数和高级筛选条件区域设置详解

    1,条件区域至少包含两行,在默认情况下,第一行作为字段标题,第二行作为条件参数。在某些情况下(后面会提到),字段标题可以留空;条件参数也可以留空,表示任意条件。

    2,为避免出错,条件区域应尽量与数据区域分开放置,条件区域甚至可以放置在不同的工作表中。

    3,同一列中包含多个条件参数,表示并列的逻辑“或”,满足其中任一条件均能计入函数统计范畴。
    例如:下图中的条件区域表示“销售员”字段可以为“陈升”或“林木森”或“秋颖”。
    数据库函数和高级筛选条件区域设置详解

    4,同一行中包含多个条件参数,表示交叉叠加的逻辑“与”,同时满足这些条件的记录可以被函数计入统计范畴。
    例如:下图中的条件区域表示“销售员”字段为“陈升”同时“超市”字段值为“大润发”的记录。

    数据库函数和高级筛选条件区域设置详解

    5,如果条件区域包含多行多列,则参照上面两条规则,进行逻辑组合。
    例如:下图中的条件区域表示记录需要满足“大润发”超市的“陈升”销售员或“沃尔玛”超市的任意销售员。
     数据库函数和高级筛选条件区域设置详解

    6,条件参数不区分字母大小写。如需区分大小写,可以使用支持大小写区分的函数公式构建条件。

    7,对于文本字段,可以使用通配符,通配符包括“*”、“?”和“~”。
    例如:下图中的条件区域表示统计销售员字段以“林”字开头的所以记录。
     数据库函数和高级筛选条件区域设置详解

    8,在条件参数中,除了直接填写文本和数值,还可以使用比较运算符直接与文本或数值相连,表示比较的条件。
    例如:下图中的条件区域表示销售员“不等于”陈升且数量“大于”4000,函数统计结果为6。

    数据库函数和高级筛选条件区域设置详解

    9,除了直接填写条件,也可以使用等号引导条件,其中条件部分需要用半角双引号包围。
    例如:下图中的条件区域显示了其中可以输入的条件。

    数据库函数和高级筛选条件区域设置详解

    10,条件参数还可以使用公式(上面那种还不能算作真正的公式)。当使用公式作为条件时,字段标题必须留空或使用其他数据表中不存在的标题。条件公式必须是进行逻辑判断的公式。

    11,条件参数的公式中不能直接引用字段标题,当需要引用整个字段时,可以使用第一条记录所在单元格作为引用,且必须使用相对引用方式。
    例如:下图中的条件区域显示了其中可以输入的条件公式。其中G2为“销售员”字段的第一条记录所在单元格,C2为“数量”字段的第一条记录所在单元格。

    数据库函数和高级筛选条件区域设置详解
    注意,如果在“表”(2003版本中称为“列表”)中使用数据库函数,则可以直接使用表中所定义的字段名称来作为条件参数公式中的字段引用。

    12,如果没有使用第一条记录所在单元格进行字段引用,则会以引用单元格以下的数据区域作为统计区域。
    例如:下图中的条件区域显示了其中实际输入的条件公式,两个条件均引用第7行,因此会以第7行的记录开始进行统计。统计结果为5。

    2010-7-13 11:35 上传

    下载附件 (2.68 KB)

    数据库函数和高级筛选条件区域设置详解

    13,如果多个条件的引用单元格不一致,会发生统计区域的错位情况。
    例如:下图中的条件区域显示了其中实际输入的条件公式,其中条件1以G9单元格作为引用,条件2以C2单元格作为引用,因此发生了数据区域的错位,在统计时也会以错位的对应关系进行统计。

    数据库函数和高级筛选条件区域设置详解

    14,在条件公式中需要引用非整列字段的数据区域时,必须使用绝对引用方式。
    例如:下图中的条件区域显示了其中实际输入的条件公式,其中条件2中以C列的平均值作为判断条件,平均值的计算引用就以绝对引用方式引用了需要计算平均值的数据区域。

     数据库函数和高级筛选条件区域设置详解

    附件下载:

    微盘:http://vdisk.weibo.com/s/668NU

    本地下载:数据库函数的条件设置 (1926)

    作者: chrisfang | 分类: Excel技巧 | 阅读: 6,851 次浏览 | Tags:
  • Excel去除重复项的几种常用技巧

    2012-05-28

    在工作中,经常会有需要在对原始记录清单进行整理时,剔除其中一些重复项。所谓的重复项,通常是指某些记录在各个字段中都有相同的内容(纵向称为字段,横向称为记录),例如下面图中的第三行数据记录和第五行数据记录就是完全相同的两条记录,除此以外还有第六行和第十行也是一组相同记录。

    Excel去除重复项的几种常用技巧

    在另外一些场景下,用户也许会希望找出并剔除某几个字段相同的但并不完全重复的“重复项”,例如下面图中的第7行记录和第12行记录中的【姓名】字段内容相同,但其他字段的内容则不完全相同。

    Excel去除重复项的几种常用技巧

    以上这两种重复项的类型有所不同,在剔除操作的实现上也略有区别,但本质上并无太大差别,可以互相借鉴参考。下面将以这两种场景为例,介绍几种常用的删除重复项操作技巧。

    1,删除重复项

    【删除重复项】功能是Excel 2007版本以后新增的功能,因此适用于Excel 2007及其后续版本。

    将活动单元格定位在数据清单中,然后在功能区上依次单击【数据】——【删除重复项】,会出现【删除重复项】对话框。

    对话框中会要求用户选择重复数据所在的列(字段)。假定我们将“重复项”定义为所有字段的内容都完全相同的记录,那么在这里就要把所有列都勾选上。而如果只是把某列相同的记录定义为重复项,例如文章开头所提到的第二种场景情况,那么只需要勾选那一列字段即可。

    Excel去除重复项的几种常用技巧

    在勾选所有列以后,单击【确定】按钮,就会自动得到删除重复项之后的数据清单,剔除的空白行会自动由下方的数据行填补,但不会影响数据表以外的其他区域。效果如下图所示:

    Excel去除重复项的几种常用技巧

     

    2,高级筛选

    在2007版出现以前,【高级筛选】功能一直是删除重复项的利器。

    将活动单元格定位在数据清单中,然后在功能区上依次单击【数据】——【高级】(2003版本中的操作路径是【数据】——【筛选】——【高级筛选】),会出现【高级筛选】对话框。

    对话框中会要求用户指定列表区域,就是数据清单所在的单元格区域,默认情况下会自动生成。筛选方式上一般选择“将筛选结果复制到其他位置”,以方便删除重复项以后的处理操作。指定这种方式以后,对话框中会要求用户指定“复制到”哪里,也就是删除重复项以后的数据清单放置位置,用户指定其左上角单元格的位置即可,在这个例子中我们设定为E1单元格。最后一项也是删除重复项最关键的一个选项必须勾选:【选择不重复的记录】。如下图所示:

    Excel去除重复项的几种常用技巧

    单击【确定】按钮以后,就会在E1单元格开始的区域中生成剔除重复项以后的另一份数据清单,效果如下图所示:

    Excel去除重复项的几种常用技巧

    假定按照第二种场景的方式来定义重复项,就是需要删除所有【姓名】字段内容重复的记录,可以这样操作:

    在数据清单中,选中【姓名】字段所在的区域A1:A12单元格,然后在功能区上依次单击【数据】——【高级】(2003版本中的操作路径是【数据】——【筛选】——【高级筛选】),会出现【高级筛选】对话框。筛选方式选择“在原有区域显示筛选结果”,【选择不重复的记录】复选框同样必须勾选,如下图所示:

    Excel去除重复项的几种常用技巧

    选择【在原有区域显示筛选结果】的方式,使得对A列不重复项的筛选结果能够同时影响到其他字段上。单击【确定】按钮后,筛选结果如下图所示。将这个筛选的结果复制粘贴出来,就等到一份剔除姓名字段重复项以后的新清单。需要补充的一点是,对于姓名字段相同的记录,这样的剔除操作过后,保留的是最先出现的记录。例如在第七行和第十二行两个“吴凡”之间,Excel保留的是最先出现的第七行记录,而剔除了后面的第十二行记录。

    Excel去除重复项的几种常用技巧

     

    3,使用公式

    如果会一点函数公式,那么用函数公式配合筛选的方式来操作会更灵活多变一些,可以适应更多复杂条件。

    在D列增加一个辅助公式,在D2单元格中输入公式:=A2&B2&C2,然后向下复制填充,生成的一列公式结果是将各条记录中的三个字段内容合并在一个单元格中。然后在E列再增加一个辅助公式,在E2单元格中输入公式:=COUNTIF(D2:D$12,D2),特别注意公式中绝对引用符号$的使用位置。将公式向下复制填充,得到下面图中所示的结果: 

    Excel去除重复项的几种常用技巧

    COUNTIF函数的作用是统计某个区间内,与查询值相同的数据的个数,上面那个公式中的D2:D$12这种绝对引用和相对引用相组合的方式就可以在公式向下复制的过程中形成一个随位置变化的动态区域,使得COUNTIF函数每次都只跟自己下方的区域中的数据进行对比,而不会牵涉到上方的数据。因此在第三行的时候,会找到2条与“李明28研发部”相同的记录,而到了第五行的时候,就只找到了一条匹配记录。

    通过这个公式结果可以发现,所有E列运算结果大于等于2的记录(如果有更多的重复,结果会大于2)就是我们需要剔除的重复项。这个时候,使用自动筛选功能,在E列筛选出大于1所在的行,然后删除整行,再恢复到非筛选状态,就能得到最后所需的清单,如下图所示:

    Excel去除重复项的几种常用技巧

     在上面的操作中之所以要将三个字段内容合并在一起,是因为我们在第一个场景中将“重复项”定义为所有字段内容都相同,因此将这三个字段的内容同时合并在一起进行比较,相当于逻辑运算中的“与”运算。假设需要按照第二场景中的定义来进行剔除操作,就不再需要D列这个过渡公式,而是可以直接以A列作为COUNTIF函数的对比区域,可以使用公式:=COUNTIF(A2:A$12,A2) 就可以实现相同的效果。需要补充说明的是,这个方法在剔除操作后,所保留下来的记录是重复记录中最晚出现的那条记录。

    同样是第一场景,也可以用一个稍微复杂一些的公式来替代D、E两列的公式:=SUMPRODUCT(1*(A2&B2&C2=A2:A$12&B2:B$12&C2:C$12)) 公式的原理与前面相同。

    作者: chrisfang | 分类: Excel技巧 | 阅读: 8,909 次浏览 | Tags:
  • 如何在Excel中插入可以自动播放的背景音乐

    2011-12-13

    也许你会很熟练地在PPT中插入背景音乐,设定使其在幻灯片放映时自动播放音乐。但是你并不一定了解如何在Excel中插入可以自动播放的背景音乐,因为在Excel中并不支持直接插入可以播放的音频或视频。

    现有的网上比较通行的几种Excel自动播放背景音乐的方案有以下这些:

    1,使用Windows Media Player、WebBrowser等类似控件。

    缺点是不支持嵌入音频文件,这就意味着Excel文件需要拖家带口随身携带附加的音频文件才能正常播放。而且部分需要VBA编程代码支持。

    2,使用插入对象的方式,插入音频文件对象可以实现文件嵌入,但是不支持自动播放。如果需要让音乐自动播放,需要用编程的方法调用OLEobject的Verb:=xlPrimary方法来激活嵌入对象,并且会打开媒体播放器的额外窗口,界面友好度不是很理想。

     如何在Excel中插入可以自动播放的背景音乐

     3,同样是插入对象的方式,但在上述方案基础上,通过编程调用API,来读取OLEobject对象中的嵌入内容来直接进行播放。好处是不会出现上面所提到的媒体播放窗口,缺点是需要很复杂的VBA代码,并且不同格式的音频需要不同的编程代码。

    4,除了上述方法以外的其他VBA编程实现方式,通常都需要调用Windows API,编程相对比较复杂,不适合普通用户。

    以上这些方案相信一般的用户看了都会头晕,不会VBA几乎无法实现,那么有没有更简单的方法呢?请听我慢慢道来。

    很多人都知道如何在PPT或Excel中插入Flash文档,打开文件时Flash动画就可以自动播放。但把Flash仅仅看作是动画就比较狭隘了些,实际上换个角度来看,Flash就是一个多媒体的平台,可以播放视频动画,当然也可以播放音频。把音频文件做成Flash然后插入到Excel当中去,就可以实现本文中所提到的Excel背景音乐功能

    成功案例如下:http://dl.dbank.com/s0wj8dskfx

    其中的Flash控件可以缩小到不被注意甚至不可见。

    要把音频文件做成Flash文件,不要想像得很复杂,其实也很简单。有以下几种方案,可以根据自己情况各取所需:

    方案1,使用音频转Flash软件,网上有很多,推荐一个MP3 to SWF Converter,可以在这里下载:http://ishare.iask.sina.com.cn/f/13219896.html

    软件可以将音频文件(包括mp3和wav)转换为Flash播放文件,可以设定自动播放和循环播放,可以设置是否需要控制界面(作为背景音乐,不需要控制界面),如下图所示: 

    如何在Excel中插入可以自动播放的背景音乐

     

    方案2,直接使用Flash软件制作,也很简单,首先打开Flash新建一个项目,然后将音频文件导入到库,然后选中第一帧,设置一下声音和循环播放即可(也可以设置重复播放次数),然后就可以生成SWF文件。如下图所示:

    如何在Excel中插入可以自动播放的背景音乐

    如何在Excel中插入可以自动播放的背景音乐

     

    方案3,有些人会用Camtasia Studio编辑视频,其实音频也一样,插入音频后,制作一个空白视频,然后就可以在生成视频时选择输出格式为Flash,缺点是不能设置循环播放,好处是可以自己对音频进行编辑修改。如下图所示:

    如何在Excel中插入可以自动播放的背景音乐

    如何在Excel中插入可以自动播放的背景音乐

     

    音频文件生成Flash文件以后,在Excel当中插入的方法相信很多人都知道,这里也简单描述一下:

    步骤1,在【开发工具】选项卡(2003可以直接在工具栏中打开【控件工具箱】)上点击【插入】——【ActiveX控件】——【其他控件】——【Shockwave Flash Object】控件,在表格中插入控件,

    步骤2,选中插入的控件,点右键——【属性】,设置一些属性,包括【Movie】:需要给出SWF文件所在路径和文件名;【EmbedMovie】:设置为True表示嵌入Flash,不再需要随身携带文件。2007版本下嵌入功能有BUG;【Loop】:设置为True表示循环。如果需要隐藏控件,可将【Visible】属性设置为False。

    如下图所示: 

    如何在Excel中插入可以自动播放的背景音乐

     

    以上步骤完成后,点击【退出设计模式】就可以了,保存文档后重新打开就能听到音乐。如果有必要,可以在设计模式下将这个控件的尺寸调到很小不被察觉,甚至可以缩小到不可见。

    下面是我做的这个例子:

    华为网盘下载:http://dl.dbank.com/s0wj8dskfx

    本地下载:背景音乐示例文件 (1814)

    作者: chrisfang | 分类: Excel技巧 | 阅读: 4,369 次浏览 | Tags:
  • Excel照相机功能及其自动调用图片的应用

    2011-11-13

    周五的时候在微博中发了一个【用函数公式在Excel中显示和调用图片】的小实例,短时间内收到不少转发,看来有不少人对这个功能的应用还是比较感兴趣却又比较陌生。由于实例中没有具体的操作说明,因此在此撰文详细介绍一下。

    所谓有条件的显示和调用图片,就是指可以根据一定的索引条件,从插入到Excel当中的图片中,有选择的显示指定的图片,并且可以根据索引条件的变化,自动改变和更新目标图片的显示。

    如下图所示,左侧包含了四个插入到Excel当中的图片,并且每张图片都具有英文字母的索引标识。用户可以通过设定,在右侧【调用目标】的所在位置输入不同的索引标识,让Excel在【调用结果】位置自动显示相应的图片。

     Excel照相机功能及其自动调用图片的应用

     

    实现这一功能的主要原理来自于Excel的图片链接功能,也就是传说中的【照相机】功能。我早先曾经提到过,Excel当中的照相机功能并非必需通过自定义菜单把那个【照相机】命令按钮调出来才能使用。因为它的实质是【包含链接的图片】,因此可以通过更简便的方法来实现。具体方法如下:

    1,选中需要拍照的单元格区域,例如A1:D5区域,按<Ctrl+C>进行复制;

    2,在表格里选中一个放置“照片”的地方,然后如果是在2003版中,需要按住<Shift>键,然后在菜单栏上点击【编辑】,在下拉菜单中会出现【粘贴图片链接】命令(如果不按住<Shift>键,这个命令就不会出现在下拉菜单中),点击这个命令就会在当前位置生成目标区域的一个镜像图片。

    如下图所示:

     Excel照相机功能及其自动调用图片的应用

     如果是在2007以上版本中,第2步中就不需要按Shift键,直接在【开始】选项卡中点【粘贴】下拉按钮,在其中选择那个带链条的图片按钮即可,如下图所示。 

    Excel照相机功能及其自动调用图片的应用

    以上操作过程就是所谓的“照相机”功能,生成的“图片链接”实际上就是目标区域的一个镜像图片,更改目标区域的内容,会实时反映在这个图片中,就好象一个实时监视窗口一样。选中这个图片可以在Excel的公式编辑栏中看到它实际上包含了一个单元格地址的链接公式:=A1:D5,如下图所示。所以说这个功能的本质就是带链接的图片。

     Excel照相机功能及其自动调用图片的应用

    这个带链接的图片所显示的内容并不仅仅是目标区域单元格中的内容,它更像是一幅卫星照片,会把目标单元格区域范围内所有可以显示的内容都拍摄进去,包括出现在此区域中的图片、图形甚至是图表。虽然这些对象并不属于某个具体的单元格,但只要他们的位置与目标单元格区域的范围重叠,就可以被这个照相机功能忠实地记录下来。如下图所示。

     Excel照相机功能及其自动调用图片的应用

     基于上述的原理,如果在不同单元格区域范围中放置不同的图片,就可以通过链接到相应的单元格地址,显示调用不同的图片。如下图所示。 

    Excel照相机功能及其自动调用图片的应用

     

    要在上述基础上,通过索引条件来进行有据可依的图片显示调用,需要从下面两个方面来实现:

    1,通过公式,将索引项与图片所在单元格的地址建立关联关系。这个可以用很多查询引用函数来实现,例如INDIRECT+MATCH函数的组合。

    2,由于图片链接的公式中除了直接使用单元格地址以外,并不能直接使用其他函数公式。因此在这里要使用【定义名称】功能建立一座引用的桥梁。

    以本文最开头的图片实例为例,具体操作方法如下:

    1,按<Ctrl+F3>组合键打开【定义名称】对话框,点击【新建】按钮新建一个定义名称pic

    pic=INDIRECT("B"&MATCH(Sheet1!$H$2,Sheet1!$A$1:$A$4,0))

    公式的意思很简单,通过MATCH函数查找H2单元格中的索引目标在A列索引项当中的位置,然后通过Indirect函数在B列中引用到这个相应图片的所在位置。

    2,定义名称完成后,选中“调用结果”位置的“照片”图片,在公式编辑栏中输入“=pic”即可。

    此时,在H2单元格中变换不同的索引内容,都可以让左侧的”照片“中自动显示所对应的不同目标图片。

     Excel照相机功能及其自动调用图片的应用

     

    文件下载:

    华为网盘:http://dl.dbank.com/s06laoy24a

    本地下载:通过公式调用图片 (1958)

     

    作者: chrisfang | 分类: Excel技巧 | 阅读: 26,456 次浏览 | Tags:
  • 用条件格式中的图标集来标识项目状态

    2011-10-13

    昨天发布了一篇微博,有关于如何使用图标集条件格式来对项目状态进行可视化标识,原帖链接:http://weibo.com/2190827182/xsoVjsd87

    “图标集”是Excel2007版本以后的新增功能,这个技巧其实不算复杂,主要包含了“自定义数字格式”和“条件格式”两部分内容。由于帖子短时间内受到大量转发,相信还是有不少人对这个技巧的技术细节不太了解,因此在这里用博文详细解读一下。

    最终效果图:

    用条件格式中的图标集来标识项目状态

    工作中有一些项目进程跟踪表格通常如下图所示,在“完成情况”一列中会通过文字来标识项目完成情况。如果前面六个阶段全部打勾,则标识“已完成”,否则标识“进行中”。要实现这个功能,使用公式可以很容易实现,但是考虑到要用条件格式的“图标集”工具来进行可视化的图形标识,就需要将公式的结果设置为数值。因为只有数值可以进行“图标集”的条件格式设置。

    用条件格式中的图标集来标识项目状态

     

    因此,在构建公式时,可以在H2单元格中输入以下公式并向下拖拽填充至H7单元格:

    =N(COUNTBLANK(B2:G2)=0)

    COUNTBLANK函数表示统计一个区域中的空白单元格数目,如果前面六个阶段的单元格中不包含空白单元格,则COUNTBLANK(B2:G2)=0返回True(即表示项目已完成),否则返回False(即表示项目尚在进行中)。

    最外围的N函数用于将上述的True或False的逻辑判断结果转换为数值1或0,True对应结果为1,False对应结果为0。由此H列的结果就是由数值0或1来表示项目是否已完成,如下图所示。 

    用条件格式中的图标集来标识项目状态

     为了增强表格可读性,H列的显示内容还是可以设置为中文字符“已完成“或”进行中“并同时保持单元格数值仍旧为1或0,其方法就是通过自定义数字格式来实现。

    选中H列中需要设置的单元格区域,按<Ctrl+1>组合键打开【设置单元格格式】对话框,在【数字】选项卡的【分类】类型中选择【自定义】,然后在右侧的【类型】编辑栏中输入

    已完成;;进行中 注意代码中包含两个半角的分号

    如下图所示:

    用条件格式中的图标集来标识项目状态

     

    上述代码是自定义数字格式的一种表示方式,自定义数字格式的常用代码格式为

    【大于零】;【小于零】;【等于零】

    三个用半角分号隔开的区段分别代表了单元格中数值对应显示的方案。当单元格数值大于零时,显示第一个区段中的内容(此例中为“已完成”);当单元格数值小于零的时候显示第二个区段的内容(此例中为空白);当单元格数值等于零的时候显示第三个区段的内容(此例中为“进行中”)。因此在设置完成这样的自定义数字格式后,显示如下图所示:

     用条件格式中的图标集来标识项目状态

     

    接下来再使用2007中所新增的“图标集“条件格式:

    1, 选中H2:H7,在功能区上依次单击【开始】——【条件格式】——【图标集】——【其他规则】,打开【新建格式规则】对话框;

    2, 【图标样式】里选择一种,例如“三个符号(有圆圈)”,右侧的两个【类型】都选择【数字】,左侧的两个【值】分别填写1和0,如下图所示。确定完成即可。

     用条件格式中的图标集来标识项目状态

     最后显示如下图所示

    用条件格式中的图标集来标识项目状态

     

    附件下载:

    微盘下载:http://vdisk.weibo.com/s/N8JZ

    本地下载:条件格式中的图标集 (1782)

     

    作者: chrisfang | 分类: Excel技巧 | 阅读: 5,114 次浏览 | Tags:
  • 如何把计算式转换为运算结果

    2011-08-30

    某些工程方面的应用,会在Excel表格中输入运算方式,通常只是一个文本形式的计算通式,其中可能包含常量或单元格引用,如下图A列所示。某些情况下,会需要对这些计算式求取运算结果。简单地处理,可以直接在A列单元格的内容前直接输入一个等号“=”,A列的计算式就会运算了。但往往这种操作方式是不被条件许可的,A列的计算式仍旧要保持原样,而运算结果则要另行取得放置在B列。

    如何把计算式转换为运算结果

    对于这种问题,可以使用宏表函数EVALUATE来实现。

    宏表函数又称为Excel 4.0版函数,需要通过定义名称(并启用宏)或在宏表中使用,其中多数函数功能已逐步被内置函数和VBA功能所替代。

    有关启用宏的操作可详见《Excel启用宏的详细说明

    这个问题的具体解决方法如下:

    1,选中B2单元格(定义名称时所选中的单元格关系到定义名称公式中相对引用地址的具体写法)

    2,在菜单栏上依次单击【插入】-【名称】-【定义】,打开“定义名称”对话框,在上方文本框中输入名称的命名,比如evl,然后在下方的编辑栏中输入定义公式=EVALUATE(A2),单击【确定】按钮完成。

    3,然后在B2单元格内输入公式=evl就可以计算得到A2单元格的计算式运算结果。公式可以向下复制,同样可以计算其他的计算式。

    如何把计算式转换为运算结果

    结果如下图所示:

    如何把计算式转换为运算结果

    附件下载:

    微盘下载:http://vdisk.weibo.com/s/zaZq

    本地下载:计算式运算 (1678)

    作者: chrisfang | 分类: Excel技巧 | 阅读: 4,065 次浏览 | Tags:
  • 详述Office2010的自动保存和恢复

    2011-08-22

    在您埋头辛苦编辑Excel、Word或PPT文档的时候,如果突然发生断电、系统崩溃、意外误操作,所有劳动成果瞬间灰飞烟灭,连影子都找不回来的时候,您一定会抓狂不已,这个时候最想要的恐怕就是一台时间机器。

    事实上,从Office 2000到Office 2007版本中,都有自动定时保存的功能,但这些版本中的功能多多少少都有些缺陷,不是特别实用。而在最新的Office 2010版本中,这一功能又得到了新的改进,更实用,更可靠。本文将以Excel 2010为例详细阐述其中自动保存功能的工作机理和恢复文件的访问方法,Word和PPT的功能与此类似,可以相形参照。

     

    【设置方法】

    首先,要让Excel能够自动进行后台的定时保存,需要在Excel选项中开启这一功能,如下图所示:

    详述Office2010的自动保存和恢复

     

    如上图所示,勾选【保存自动恢复信息时间间隔】的复选框可以开启“自动定时保存”的功能,右侧数值调节框中可以设置自动保存的时间间隔,最短为1分钟,最长为120分钟。

    下侧【自动恢复文件位置】则是自动保存的临时文件存放路径,

    在Win7系统下默认为:C:\Users\<用户名>\AppData\Roaming\Microsoft\Excel,

    WinXP系统下则默认为:C:\Documents and Settings\<用户名>\Application Data\Microsoft\Excel。

    还有一个选项,名字很长【如果我没保存就关闭,请保留上次自动保留的版本】,这个选项关系到您的工作在意外关闭时是否仍可以找到自动保存的备份文档,是充分享受这个自动保存功能所带来的好处的关键所在,务必勾选!

     

    【运作机理】

    自动保存的运作机理如下:

    1,要让自动保存起作用的文档必须是至少保存过一次的文档(也就是硬盘中存在的文档),如果是在程序中直接新建的空白文档,需要先保存为硬盘中的某个文档以后才可以启用此功能。
    2,在前一次保存(包括手动保存或自动保存)后,在文档发生新的修改后,系统内部的计时器开始启动,到达指定的时间间隔后发生一次自动保存动作。相反,如果在前一次保存后,文档中并没有发生过新的修改变化,则不会激活计时器,也不会激发定时保存的动作。
    3,只有在Excel程序窗口被激活的状态下,计时器才会工作。假设我打开了Excel,并进行了修改,但我又切换到IE里面去浏览网页了,此时计时器将停止工作,即使过上一个小时,也不会发生自动保存的动作。
    4,在计时器工作过程之中,如果提前发生了手动存档事件,计时器将清零停止工作。这一点很好理解,因为根据第一点,只有在前一次保存后发生新的修改时才会开始计时器的工作,因此当进行手动保存时,就相当于一次归零操作,所有修改被即时保存,没有产生新的未保存的修改项目。
    5,在一次自动保存事件发生过后,如果文档没有新的编辑动作产生,计时器也不会开始工作。其原因与上面第3点相同。

     

    【功能作用效果】

    如何体现自动保存功能正在发生作用?

    在满足前述条件,发生自动保存的事件后,可以在Excel功能区上依次单击【文件】→【信息】,打开当前文档的信息面板,可以在【管理版本】的区域中看到当前文档自动保存所生成的历史版本,例如下图中显示了这个文档在16:35、16:41和16:44分别发生过三次自动保存事件,生成了三个历史文档。这里的三个文档的时间间隔与您所设置的自动保存间隔并不一致,根据前面所述的运作机理可以知道,这个时间所反映的只是您的编辑动作所发生的时间与设定的保存间隔综合作用的结果。

    同样在这个界面中,您可以选择打开和恢复某个历史版本,也可以选择删除这些历史版本。当你没办法使用Ctrl+Z来撤销返回到十几分钟前的某个文档状态时,可以使用这个功能恢复到某个时间点的历史版本,对许多人来说这是一个不错的选择。

    详述Office2010的自动保存和恢复

    【临时文件】

    自动保存功能会产生临时文件,在哪里可以找到这些临时文件对于发生意外以后的恢复至关重要。

    那么上图中所谓的历史版本文件到底在哪里呢?在第一张附图中,显示了选项设置时的文件存放路径,在Win7系统下默认为:C:\Users\<用户名>\AppData\Roaming\Microsoft\Excel,WinXP系统下则默认为:C:\Documents and Settings\<用户名>\Application Data\Microsoft\Excel。

    在这个路径下会有一个<文档文件名>+随机数字组成的文件夹,如下图所示。在这个文件夹里面,每发生一次自动保存事件,都会生成一个名为“<文档文件名>((Autosaved-随机数字)).xlsb”的文件,有过几次自动保存,就会生成几个文件。可以看到文件的修改时间与之前在“版本信息”中所看到相一致。

    详述Office2010的自动保存和恢复

    这个文件夹中的临时文件可以直接用Excel打开,打开时会在信息栏(编辑栏上方)显示此文档是“自动保存的版本”,而且是只读方式,在“信息”面板中也会显示相同信息,如下图所示。点击“还原”按钮就可以把临时文件的内容和状态覆盖为此文档的最新状态。

    详述Office2010的自动保存和恢复

     

    【意外恢复】

    如果文档没有保存就关闭,究竟会发生些什么?
    如果在关闭Excel之前,对当前编辑的Excel文档进行了手动保存,那么之前所提到的临时文件夹就会自动消失。如果在关闭的之前没有进行手动保存,分两种情况进行讨论:

    1,关闭文档时系统询问是否保存时点了“否”。这个要命的“否”啊也许就会让你一个晚上的工作白费,但是在Excel2010里面还是有救!之前所提到那个自动保存路径下面以这个文档命名的文件夹还是会存在,并在其中保留着所有历史版本。最近的一个自动保存版本会以“<文档文件名>((Unsaved-随机数字)).xlsb”来命名。

    详述Office2010的自动保存和恢复

    这个时候,如果您直接打开之前未保存的文档,看到的就是一晚工作白干的惨状。不要急,依次单击【文件】——【信息】,在信息面板里面可以看到所有历史版本,还有最近一次的版本的补充信息为“当我没保存就关闭时”,如下图所示。点击这个版本就能让你有地狱到天堂的感觉。

    详述Office2010的自动保存和恢复

     

    除了上面的办法,也可以直接到前面所说的临时文件夹里打开Unsaved文件,里面的状态就是最近一次自动保存时的状态。这个文件打开时会在信息栏(编辑栏上方)显示此文档是“已恢复未保存的文件”,而且是只读方式,在【信息】面板中也会显示相同信息,如下图所示。点击【还原】按钮就可以把临时文件的内容和状态覆盖为此文档的最新状态。

    详述Office2010的自动保存和恢复

    当然,保留这些临时文件的前提条件是,在第一张图的Excel选项中勾选了【如果我没保存就关闭,请保留上次自动保留的文件】复选框,这个选项是默认勾选的。

    2,Excel进程意外退出。这也是很常见的崩溃情况,这种情况下临时文件也都还是老样子存在,并且在您直接打开原先未保存的文档时,会在窗口中自动出现“文档恢复”面板,在其中显示历史版本,您可以选择任意一个版本进行恢复。

    详述Office2010的自动保存和恢复

     

    【其他补充】

    这个版本的自动保存功能能够避免很多意外情况下的文档未保存所造成的后果了,但您还是需要注意一条,千万不要在发生错误以后还再点击“保存”按钮,一旦您按了保存并关了文档,一切临时文件就全都成浮云了。

    作者: chrisfang | 分类: Excel技巧 | 阅读: 6,360 次浏览 | Tags: