分享

Excel函数应用大全(来源网络)

 hxdcom 2009-05-04
10.NETWORKDAYS  用途:返回参数start-data和end-data之间完整的工作日(不包括周末和专门指定的假期)数值。  语法:NETWORKDAYS(start_date,end_date,holidays)  参数:Start_date代表开始日期,End_date代表终止日;Holidays是表示不在工作日历中的一个或多个日期所构成的可选区域,法定假日以及其他非法定假日。此数据清单可以是包含日期的单元格区域,也可以是由代表日期的序列号所构成的数组常量。  函数中的日期有多种输入方式:带引号的文本串(如"1998/01/30"、序列号(如使用1900日期系统的35825)或其他公式或函数的结果(如 DATEVALUE("1998/1/30")。  注意:该函数只有加载“分析工具库”以后方能使用。  11.NOW  用途:返回当前日期和时间所对应的序列号。  语法:NOW()  参数:无  实例:如果正在使用的是1900日期系统,而且计算机的内部时钟为 2001-1-28 12:53,则公式“=NOW()”返回36919.54。  12.SECOND  用途:返回时间值的秒数(为0至59之间的一个整数)。  语法:SECOND(serial_number)  参数:Serial_number表示一个时间值,其中包含要查找的秒数。关于时间的输入方式见上文的有关内容。  实例:公式“=SECOND("3:30:26 PM"”返回26,=SECOND(0.016)返回2。  13.TIME  用途:返回某一特定时间的小数值,它返回的小数值从0到 0.99999999之间,代表0:00:00(12:00:00 A.M)到23:59:59(11:59:59 P.M) 之间的时间。  语法:TIME(hour,minute,second)  参数:Hour是0到23之间的数,代表小时;Minute是0到59之间的数,代表分;Second是0到59之间的数,代表秒。  实例:公式“=TIME(12,10,30)”返回序列号0.51,等价于12:10:30 PM。=TIME(9,30,10)返回序列号0.40,等价于9:30:10 AM。=TEXT(TIME(23,18,14),"h:mm:ss AM/PM"返回“11:18:14 PM”。  14.TIMEVALUE  用途:返回用文本串表示的时间小数值。该小数值为从 0 到 0.999999999 的数值,代表从 0:00:00 (12:00:00 AM) 到 23:59:59 (11:59:59 PM) 之间的时间。  语法:TIMEVALUE(time_text)  参数:Time_text是一个用Excel 时间格式表示时间的文本串(如"6:45 PM"和"18:45"等)。  实例:公式“=TIMEVALUE("3:30 AM"”返回0.145833333,=TIMEVALUE("2001/1/26 6:35 AM"返回0.274305556。15.TODAY  用途:返回系统当前日期的序列号。  参数:无  语法:TODAY()  实例:公式“=TODAY()”返回2001-8-28(执行公式时的系统时间)。  16.WEEKDAY  用途:返回某日期的星期数。在默认情况下,它的值为1(星期天)到7(星期六)之间的一个整数。  语法:WEEKDAY(serial_number,return_type)  参数:Serial_number是要返回日期数的日期,它有多种输入方式:带引号的文本串(如"2001/02/26"、序列号(如35825表示1998年1月30日)或其他公式或函数的结果(如DATEVALUE("2000/1/30")。Return_type为确定返回值类型的数字,数字1或省略则1至7代表星期天到数星期六,数字2则1至7代表星期一到星期天,数字3则0至6代表星期一到星期天。   实例:公式“=WEEKDAY("2001/8/28",2)”返回2(星期二),=WEEKDAY("2003/02/23",3)返回6(星期日)。  17.WEEKNUM  用途:返回一个数字,该数字代表一年中的第几周。  语法:WEEKNUM(serial_num,return_type)  参数:Serial_num代表一周中的日期。应使用DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。Return_type为一数字,确定星期计算从哪一天开始。默认值为 1。  18.WORKDAY  用途:返回某日期(起始日期)之前或之后相隔指定工作日(不包括周末和专门指定的假日)的某一日期的值,并扣除周末或假日。  语法:WORKDAY(start_date,days,holidays)  参数:Start_date为开始日期;Days为Start_date之前或之后不含周末及节假日的天数;Days是正值将产生未来日期、负值产生过去日期;Holidays为可选的数据清单,表示需要从工作日历中排除的日期值(如法定假日或非法定假日)。此清单可以是包含日期的单元格区域,也可以是由代表日期的序列号所构成的数组常量。日期有多种输入方式:带引号的文本串(如"1998/01/30"、序列号(如1900 日期系统时的35825表示1998年1月30日)或其他公式或函数的结果(例如 DATEVALUE("1998/1/30")。  19.YEAR  用途:返回某日期的年份。其结果为1900到9999之间的一个整数。  语法:YEAR(serial_number)  参数:Serial_number是一个日期值,其中包含要查找的年份。日期有多种输入方式:带引号的文本串(例如 "1998/01/30"、序列号(例如,如果使用 1900 日期系统则 35825 表示 1998 年 1 月 30 日)或其他公式或函数的结果(例如 DATEVALUE("1998/1/30")。  实例:公式“=YEAR("2000/8/6"返回2000”,=YEAR("2003/05/01"返回2003,=YEAR(35825)返回1998。  20.YEARFRAC  用途:返回start_date和end_date之间的天数占全年天数的百分比。  语法:YEARFRAC(start_date,end_date,basis)  参数:Start_date表示开始日期,End_date代表结束日期。函数中的日期有多种输入方式:带引号的文本串(如"1998/01/30"、序列号(如35829表示1900 日期系统中的1998年1月30日),或其他公式或函数的结果(例如DATEVALUE("1998/1/30")。Basis表示日计数基准类型,其中0或省略为US(NASD)30/360,1实际天数/实际天数,2实际天数/360,3实际天数/365,4欧洲30/360。  实例:公式“=YEARFRAC("2001/01/31","2001/06/30",0)”返回0.416666667,YEARFRAC("2001/01/25","2001/09/27"返回0.67222。(三)外部函数  1.EUROCONVERT  用途:将数字转换为欧元形式,将数字由欧元形式转换为欧盟成员国货币形式,或利用欧元作为中间货币将数字由某一欧盟成员国货币转化为另一欧盟成员国货币的形式(三角转换关系)。  语法:EUROCONVERT(number,source,target,full_precision,triangulation_precision)  参数:Number为要转换的货币值,或对包含该值的单元格的引用。Source是由三个字母组成的字符串,或对包含字符串的单元格的引用,该字符串对应于源货币的ISO代码。EUROCONVERT函数中可以使用下列货币代码:   国家/地区基本货币单位ISO代码比利时法郎BEF卢森堡法郎LUF德国德国马克DEM西班牙西班牙比塞塔ESP法国法郎FRF爱尔兰爱尔兰磅IEP意大利里拉ITL荷兰荷兰盾NLG奥地利奥地利先令ATS葡萄牙埃斯库多PTE芬兰芬兰马克FIM希腊德拉克马GRD欧盟成员国欧元EUR  2.SQL.REQUEST  用途:与外部数据源连接,从工作表运行查询,然后 SQL.REQUEST 将查询结果以数组的形式返回,而无需进行宏编程。  语法:SQL.REQUEST(connection_string,output_ref,driver_prompt,query_text,col_names_logical)  参数:Connection_string提供信息,如数据源名称、用户ID和密码等。Output_ref对用于存放完整的连接字符串的单元格的引用。Driver_prompt指定驱动程序对话框何时显示以及何种选项可用。Column_names_logical指示是否将列名作为结果的第一行返回。如果要将列名作为结果的第一行返回,请将该参数设置为TRUE。如果不需要将列名返回,则设置为FALSE。如果省略column_names_logical,则SQL.REQUEST函数不返回列名。(四)工程函数  1.BESSELI  用途:返回修正Bessel函数值,它与用纯虚数参数运算时的Bessel 函数值相等。  语法:BESSELI(x,n)  参数:X为参数值。N为函数的阶数。如果 n 非整数,则截尾取整。  2.BESSELJ  用途:返回 Bessel 函数值。  语法:BESSELJ(x,n)  参数:同上  3.BESSELK  用途:返回修正Bessel函数值,它与用纯虚数参数运算时的Bessel 函数值相等。  语法:BESSELK(x,n)  参数:同上  4.BESSELY  用途:返回Bessel 函数值,也称为Weber函数或Neumann函数。  语法:BESSELY(x,n)   参数:同上  5.BIN2DEC  用途:将二进制数转换为十进制数。  语法:BIN2DEC(number)  参数:Number待转换的二进制数。Number的位数不能多于10位(二进制位),最高位为符号位,后9位为数字位。负数用二进制数补码表示。  6.BIN2HEX  用途:将二进制数转换为十六进制数。  语法:BIN2HEX(number,places)  参数:Number为待转换的二进制数。Number 的位数不能多于10位(二进制位),最高位为符号位,后 9 位为数字位。负数用二进制数补码表示;Places为所要使用的字符数。如果省略places,函数 DEC2BIN用能表示此数的最少字符来表示。  7.BIN2OCT  用途:将二进制数转换为八进制数。  语法:BIN2OCT(number,places)  参数:Number为待转换的二进制数;Places为所要使用的字符数。  8.COMPLEX  用途:将实系数及虚系数转换为 x+yi 或 x+yj 形式的复数。  语法:COMPLEX(real_num,i_num,suffix)   参数:Real_num为复数的实部,I_num为复数的虚部,Suffix为复数中虚部的后缀,省略时则认为它为i。  9.CONVERT  用途:将数字从一个度量系统转换到另一个度量系统中。  语法:CONVERT(number,from_unit,to_unit)  参数:Number是以from_units为单位的需要进行转换的数值。From_unit是数值 number的单位。To_unit是结果的单位。  10.DEC2BIN  用途:将十进制数转换为二进制数。  语法:DEC2BIN(number,places)  参数:Number是待转换的十进制数。Places是所要使用的字符数,如果省略places,函数DEC2OCT用能表示此数的最少字符来表示。  11.DEC2HEX  用途:将十进制数转换为十六进制数。  语法:DEC2HEX(number,places)  参数:Number为待转换的十进制数。如果参数 number是负数,则省略places。Places是所要使用的字符数。  12.DEC2OCT  用途:将十进制数转换为八进制数。  语法:DEC2OCT(number,places)  参数:Number为待转换的十进制数。如果参数 number是负数,则省略places。Places是所要使用的字符数。 EXCEL函数应用之一我在excel中想实现这么一个功能,如单元格D12有一个数据是4,现在我想引用A4的数据,但4是由D12提供的,即如何实现A4=A(D12)。也就是,在Excel中,A7单元,能否实现把后面的数字用算式来代替,如A(3+4),或者是单元格的嵌套,A(D12),恳请高手解答。解答:①=indirect("a"&d12)②我的想法:借一个单元格如B4用,键入="A"&D12 在需引用的单元格键入=INDIRECT(B4)即可,第二个:C4是3,C5是4 B4="A“&C4+C5 ,同①。如何在一列列出工作薄中的所有表(表名无规律)以下宏将在a列传回所有工作表名称。(很实用)Sub Maco1()For i = 1 To Sheets.CountCells(i, 1) = Sheets(i).NameNextEnd Sub18位身份证号码输入的几种解决方法相信在EXCEL这个软件中如何输入15位或18位身份证号码的问题已经困挠了许多人,因为在EXCEL中,输入超过11位数字时,会自动转为科学计数的方式,比如身份证号是:123456789012345,输入后就变成了:1.23457E+14,要解决的方法有非常非常......多种哦,呵呵,现在为大家说几种比较简单快速的方法:   1、在A1单元输入号码时,在前面先输入’号,就是:’123456789012345,这样单元格会默认为该单元为文本方式,会完整显示出15个号码来,而不会显示那令人讨厌的科学计数方式来了。   2、如果已经输入了大量的号码,全部以科学计数显示的话,而又懒的按照上面的方法一个一个的重新输入的话,也有这个好方法哦,比如已在单元A1:A100输入了号码,按以下步骤做:》选择单元A1:A100》单击鼠标右键,设置单元格式》选择自定义,在‘类型’中输入‘0’即可,轻松搞定,呵呵!!   3、还有一种用函数来解决的方法:在A1:A100已经输入大量的号码时,在B1单元中输入:=trim(\' \'a1),注意两个’之间是空格,这个公式的意思:先在A1单元15位号码前加个空格符号,然后用trim这个函数把空格符号去掉。输完后,B1单元也是显示出完整的15位数字了。用countif算出数值大小在50~60之间的单元格个数解答:①你可以综合一下呀! =countif(a1:a9,">=50"-countif(a1:a9,">60"②{=SUM((a1:a9<60)*(a1:a9>50))}③为什么{=SUM((a1:a9<60)*(a1:a9>50))}可以求出符合条件的个数,按理后面应再加一待求和区域如"B1:B9"等等,不知数组计算的内部机制是怎样的,不知谁能给个解释,谢谢!!④这个数组公式是这样运算的: a1:a9区域的数值分别与60比较。假如a1:a9的数依次为15,25,35,45,55,65,75,85,95.那么(a1:a9<60)返回{true,true,true,true,true,false,false,false,false},同理(a1:a9>50)返回{false,false,false,false,true,true,true,true,true}。然后(a1:a9<60)*(a1:a9>50)则返回{false,false,false,false,true,false,false,false,false}。因为*表示and的意思。只有当and的对象都为真时结果才为真。。excel里用1表示true;0表示 false。有时需要将true或false转换成数值,可以*1或+0几个工作表生成一个打印文件一次打印解答:先按 Ctrl键 + 其它要一起打印的工作表 就会成为一个群组,打印的页数可延续到下一个Sheet自动计算应收款滞纳金要求在给定的应收日期、滞纳金率、当前日期(自动取)的基础上自动计算出应收滞纳金。解答:=(DATEDIF(应收日期,NOW(),"d")*滞纳金率(每天)*应收金额SUM函数难题A B234 230 12 10 13 如何用函数计算出下面几个数据1。A和B都有数据且A>B的个数2。A栏在相应的B栏有数据的情况下的数据总和,例如A1对应B1有数据,A3对应B3有数据,则求A1+A3的和。希望都能用一个函数求出所要的结果。谢谢解答:=SUM(($A$1:$A$10<>""*($B$1:$B$10<>""*($A$1:$A$10>$B$1:$B$10))=SUM(($A$1:$A$10<>""*($B$1:$B$10<>""*($A$1:$A$10>$B$1:$B$10)*($A$1:$A$10+$B$1:$B$10))记得输入公式后要按ctrl+shift+enter工作表中的小写字母都变成大写解答:请运行以下程序:(测试通过)Sub ConvertToUpperCase()Dim Rng As RangeWorksheets("Sheet1".UsedRange.SelectFor Each Rng In Selection.CellsIf Rng.HasFormula = False ThenRng.value = UCase(Rng.value)End IfNext RngEnd Sub用COUNTIF计算整个B列中含有“F”这个字符的单元格的个数c1=COUNTIF(b1:b130,b129),(b129单元格内的字符是“F”),问题是随后在向表格中添加新行131、132、133.....之后,c1单元格中公式统计的结果还是1-129行的,怎么才能让c1中实时显示添加新数据后的统计结果?解答:c1=COUNTIF(b:b,b129)自动记录出车情况现有一表格,每天记录50辆不同车号的车辆的“出车里程”和“回库里程”,需要打印一清单,自动统计每辆在库车辆的当前里程,请问该如何做 (结果放在其它sheet中,为方便显示这里和数据放在一个sheet中了   ?解答:可以用数组公式: 假设"此处数据不断增加"所在工作表的名字为"SHEET1". 在"此处需要更新"所指的单元格内输入公式=MAX(IF(OFFSET(Sheet1!$A$2,,,COUNTA(Sheet1!$A$2:$A$65536))=A2,OFFSET(Sheet1!$B$2,,,COUNTA(Sheet1!$B$2:$B$65536))))",按CTRL+SHIFT+ENTER 结束,之后向下填充公式. 整点记录坐标值我在监测一个点的电压值,每天正点记录一次,这样每天就产生了24个值,现要进行一个月,共产生了720个值。根据这720个值,用EXCEL作一个图表,横坐标是时间,单位是----天,纵坐标是测量值。难点:横坐标每个刻度为一天,如设分类轴刻度线之间的分类数为24 的话,横坐标每个刻度下显示为:1 25 49,而其单位为天,那不就成了第1天过了,就到了第25天?如设分类轴刻度线之间的分类数为1的话,可是我每天有24个值?解答:我试验了一下,发现还是能够解决的。横坐标为时间,每天24小时,一个月30天,共计720个数据,纵坐标为数值,这样做出来的表格非常长,数据这样排,第一列(0小时,1小时,......23小时,0小时,1小时,.....23小时,)这样总共重复30天,第二列为每天24个数据,做折线图(第四种),先按照向导一步步做下去,删除第一个系列,就可以了。做出来的图像横坐标(分类轴)要调整,刻度调整为标签间的分类数为1,就可以达到目的!剩下可以手工在每天的开头处加上日期(可以用文本框),不知道这样解决可以吗?请问如何把在Excel中绘制的曲线图表另存为jpg或gif格式的图片解答:选定图表部分,复制它,打开可以编辑jpg或gif格式的软件,然后粘贴保存为jpg或gif格式文件即可。round函数解答:不要用工具条上的显示小数位数来控制小数位数,它只是显示这几位,实际还是按原来的数计算。如:1.2345,你显示两位,为1.23,而实际他是按1.2345去计算的,要用round函数,round(数据,2)即可。如果怕繁的话,可在选项里设置按显示计算,呵呵,试试看。解答2:我是做财务工作的,这一点有较深的体会 就是无论用什么函数都要在最外面加上 round(),不然的话因为那一两分钱定会被领导狠狠说一顿 再有两条经验 1、如果准备作大一些的表格,尽量不要使用 “合并单元格” 以免以后使用函数麻烦; 2、要分清你作的表格主要是使用来存储数据,还是用来打印输出,如果想两者兼顾,小一点的表格还可以,大了就不好办了。工作表引用比如说现在Sheet2!a1引用Sheet1!a1,Sheet3!a1引用Sheet2!a1,那么有什么办法可以表示Sheet(n)!a1引用Sheet(n-1)!a1。我是Execl方面的菜鸟,希望各位大虾能给我解决的方法或者思路也行啊。解答1:用VBA.Sheets(n).Cells(a, 1) =Sheets(n-1).Cells(a, 1)又问:ActiveCell.FormulaR1C1 = "=SUM(RC[-2]:RC[-1],_______!R[-1]C)" .在_____处,我应该怎么填,才可以得到上一张表格?答:在空格处写上: sheets(activesheet.index-1) .注意如果当前工作表是第一张(即 activesheet.index-1=0)时会出错。或:=INDIRECT("sheet"&A1&"!$A$1"汇总有这样一个问题,学校里共有24个科目(每个科目都有其代码,每门科目都有它相应的教材费),但学生最多只能选其中4门科目,那么我在一个表里每个记录中存储学生所选的4门科目的代码,并要在该表里汇总4门科目的总教材费,怎么汇总。(各门科目代码及对应的教材费存在另一个表里)。解答:你可以这样: 1,表2: 序号 科目 教材费 /1 语文 120 /2 数学 100 /3 英语 150 /4 政治 70 /5 历史 110 /6 地理 90 /7 物理 250 /8 化学 180 2,表1: 姓名 科目1 科目2 科目3 科目4 教材费合计/赵 1 2 3 4 440* /钱 2 3 4 5 430 /孙 3 4 5 6 420 /李 4 5 6 7 520 /张 5 6 7 8 630 .其中教材费单元格(打*号处,即F2)公式如下: =VLOOKUP(B2,Sheet2!A:C,3)+VLOOKUP(C2,Sheet2!A:C,3)+VLOOKUP(D2,Sheet2!A:C,3)+VLOOKUP(E2,Sheet2!A:C,3) 。其下单元格复制公式。在EXCEL2000中可否实现票面分解解答:我在excel 中试验了一下,发现票面分解还是比较简单的,下面是我的做法: A B C D 1 票面金额 655389.26 /2 面值 张数 余额 /3 100 6553(公式为:int(b1/a3) 89.26(公式为:b1-c3*a3) /4 50 1(公式为:int(d3/a4) 39.26(公式为:D3-A4*C4) /5 20 1 19.26 /6 10 1 9.26 /7 5 1 4.26 /8 2 2 0.26 /9 1 0 0.26 /10 0.5 0 0.26 /11 0.2 1 0.06 /12 0.1 0 0.06 /0.05 1 0.01 /0.02 0 0.01 /0.01 1 0.00 /第五行以下的数据就不需要一一输入了,选中C列和D列(C4:D15),按ctrl+D,结果就出来了。年龄及奖学金问题打开Excel工作表,建立如下表格所示的表格: A B C D E F G H I J K L M 姓名 性别 生日 年龄 年级 语文 数学 外语 政治 平均 工资 奖励 总额 王明 男     2 89 98 92 87     1 设置生日为11-28-1998的形式,并根据生日计算出学生的年龄。 /2 对平均分>=90分,80<=平均分<90,60<=平均分<80的奖励金额数放在单元格N5..N7中,请利用公式计算出每位同学赢得的奖金。 /3 1年级学生工资为80元,2年级工资为100元,3年级工资为110元,请计算出每位同学的工资数,并根据工资数和奖励数计算每位同学的工资总额。解答:1. 计算年龄:=INT(((YEAR(NOW())-YEAR(C2))*12+MONTH(NOW())-MONTH(C2))/12) (注意学生生日在C 列) 2. 计算工资: =IF(LEN(E2)>0,CHOOSE(E2,80,100,110),"" (注意学生年级在E列) 3. 奖励: =IF(J2>=90,$N$5,IF(J2>=80,$N$6,IF(J2>=60,$N$7,"")) (平均分在J列)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多