选择合适的函数组合

选择合适的函数组合

ID:27522125

大小:180.50 KB

页数:5页

时间:2018-12-04

选择合适的函数组合_第1页
选择合适的函数组合_第2页
选择合适的函数组合_第3页
选择合适的函数组合_第4页
选择合适的函数组合_第5页
资源描述:

《选择合适的函数组合》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、选择合适的函数组合Excel2007中的内置函数多达350多个,函数与公式技巧比较熟练的用户在面对特定的问题时总是会自觉地想到所要使用的特定函数。例如,排序问题经常要用到SMALL、LARGE、RANK、COUNTIF函数;多条件求和或计数通常会使用SUMPRODUCT函数;连续出现或频率计算通常都会用到FREQUENCY函数或MODE函数;不重复值的处理问题最常用的是MATCH函数;三维引用和筛选状态下的公式处理通常都会使用SUBTOTAL函数;多个分支条件的选择处理则会用到LOOKUP函数或CHOOSE函数;数值的条件转换比较常用的是TEXT函数等等。要用这些函数来编写出正确而且高效的

2、公式,拥有良好的思维习惯和大局观远比熟练的函数技巧来得重要。养成良好的思维习惯,可以抓住问题的关键,把握住解决问题的主要方向。而良好的大局观则可以选择合适的函数来高效的组合公式。例1,要在字符串“excelhomeofficecompetition”中计算字母“c”出现的次数。以常规的思路来考虑,可以通过MID函数依次取得字符串中的各个字符,然后统计其中字符为“c”的个数。假定字符串位于A1单元格中,依照上面的思考可以创建下面的公式:{=COUNT(1/(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)="c"))}如果换个角度进行考虑,将字符串中的所以字母“c”

3、全部清除,然后将剩余的字符串长度与原字符串长度进行比较,所得的差值就是字符“c”的实际出现次数。照此思路则可以写出下面的公式:=LEN(A1)-LEN(SUBSTITUTE(A1,"c",""))显然,这比前一个公式简洁了许多。例2,经纬度换算,要把120.2328度转换为度分秒的形式。以常规思路来考虑,这是一个10进制转换为60进制的数学换算问题。将小数部分乘以60所得的整数部分为“分”,剩余的小数部分再乘以60所得的整数部分为“秒”。假定经纬度数据存放在A1单元格中,以上述思路可以写出下面的转换公式:=INT(A1)&"度"&INT((A1-INT(A1))*60)&"分1"&ROUN

4、D(((A1-INT(A1))*60-INT((A1-INT(A1))*60))*60,2)&"秒"这样的公式虽然思路并不复杂,但编写较为繁琐。如果换个思路,考虑到时间的分秒也是60进制,可以借助时间序列值的格式转换来实现10进制与60进制的换算。按照这个思路可以写出下面的转换公式:=TEXT(A1/24,"[h]度m分s.00秒")此公式将经纬度数据视为日期时间序列值,整数部分表示天数,小数部分为时间。将其用TEXT函数转换为时间格式,则可以表示为“×天×小时×分×秒”。如果将数值除以24小时再用TEXT函数转换,则变化为“×小时×分×秒”,此格式与度分秒的进制一致,格式代码中进行相应文

5、字替换就可以得到最终的转换结果。例3,在图1-1所示的A1:D6单元格区域中存放着一些字符,其中包含字母、数字、符号和中文,要统计其中存放字母的单元格个数。图1-1查询字母单元格以常规思路来考虑,Excel中没有直接可以判断字符是否为字母的函数,要判断单元格中存放的是否为英文字母,通常会通过与字母A和字母Z进行比较来得到结果。依照这个思路可以写出公式:{=SUM((UPPER(A1:D6)<="Z")*(UPPER(A1:D6)>="A"))}用UPPER函数将字母转换为大写字母,然后分别与字母A和Z比较大小,在此区间内的即为字母。除了这种常规思路以外,还可以又另外一种更巧妙的方法:{=C

6、OUNT(N(INDIRECT(A1:D6&65536)))}这个公式利用了Excel中的单元格地址引用方式。单元格地址的A1引用方式为字母和数字的组合,字母表示列标,数字表示行号。将单元格中的字符与数字进行组合,然后使用INDIRECT函数进行地址的引用,如果没有返回错误值,即可认为原单元格中的字符为字母。2条条大路通罗马在很多时候,解决一个问题的方法并不是唯一的,有许多不同的函数与公式组合可以达到相同的目的,正所谓“条条大路通罗马”。功能类似的函数或组合Excel中有不少函数具有相似的功能,在有些情况下可以相互替代。例如:1,RAND函数在大多数情况下可以替代RANDBETWEEN函数

7、。取10~20之间的随机整数,可以分别用这两个函数表示为:=RANDBETWEEN(10,20)=INT(RAND()*11+10)2,CEILING函数在大多数情况下可以替代ROUNDUP函数。将A1单元格中的数值沿绝对值增大方向进位到小数后两位,可以分别用这两个函数表示为:=ROUNDUP(A1,2)=CEILING(A1,0.01)如果A1单元格中的数值可能存在负数的情况,则可以使用:=CEILING(A1,SIG

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。