当前位置:文档之家› Excel自定义函数(坐标反算、正算、角度化弧度)

Excel自定义函数(坐标反算、正算、角度化弧度)

Excel自定义函数(坐标反算、正算、角度化弧度)
Excel自定义函数(坐标反算、正算、角度化弧度)

Excel自定义函数(坐标反算、正算、角度化弧度)

在Excel中建立自定义函数

一、建立自定义函数

㈠、录制宏:

①、打开一个新的Excel工作薄

②、选择“工具”菜单中的“宏”子菜单,从它的下级菜单中选择“录制新宏”

③、在“录制新宏”对话框的“宏名”中输入要建立的函数名,例:Rad

④、在“保存在”列表中选择“个人宏工作薄”

⑤、左击“确定”

⑥、在“停止录”对话框中左击蓝色的小方框

㈡、写程序代码

①、选择“工具”菜单中的“宏”子菜单,从它的下级菜单中选择“Visual Basi c 编辑器”,双击模块*

②、将sub Rad()改写成Public Function Rad(y)

③、将下列程序代码写入(或拷贝)到

坐标反算代码

Public Function fsa(x1, y1, x2, y2)

Dim aa, a, b, b1, b2, b3, a1, x, y, a0

Const pi = 3.14159265358979

x = x2 - x1: y = y2 - y1

a = Atn(y / x)

If (x < 0 And y > 0) Or (x < 0 And y < 0) Then

a = a + pi

End If

If x > 0 And y < 0 Then

a = a + 2 * pi

End If

ab = a

aa = Sgn(ab): If aa < 0 Then ab = Abs(ab)

a0 = ab / pi * 180: b1 = Int(a0): a1 = (a0 - b1) * 60: b2 = Int(a1) / 100

b3 = (a1 - b2 * 100) * 60 / 10000

b = b1 + b2 + b3

fsa = b * aa

'计算的角度为:°′″(12.3645---12°36′45″)

End Function

将60进制角度化成弧度――2

Public Function rad(a)

Dim a1, a2, a3, a4, a5, aa

aa = Sgn(a)

If aa < 0 Then

a = Abs(a)

End If

a1 = Int(a)

a2 = Int((a - a1) * 100)

a3 = ((a - a1) * 100 - a2) * 100

a4 = (a1 + a2 / 60 + a3 / 3600) / 180 * 3.1415926535 rad = a4 * aa

End Function

化弧度为角度―――2

Public Function deg(a)

Dim a1, a2, a3, a4, a5, aa

aa = Sgn(a)

If aa < 0 Then

a = Abs(a)

End If

a1 = a / 3.1415926535 * 180

a2 = Int(a1)

a3 = Int((a1 - a2) * 60)

a4 = ((a1 - a2) * 60 - a3) * 60

a5 = (a2 + a3 / 100 + a4 / 10000) * aa

deg = a5

End Function

Excel函数怎么计算已知出生日期计算员工年龄

Excel函数怎么计算已知出生日期计算员 工年龄 如果老板给你一份关于所有员工的基本资料,里面有他们的出生日期,但是没有年龄,想让你计算出每一位员工的实际年龄,你会怎么做呢?借助Excel函数,可以很好的做到。以下是为您带来的关于Excel函数计算已知出生日期计算员工年龄,希望对您有所帮助。 Excel函数计算已知出生日期计算员工年龄 1、选中C2单元格,切换到“公式”选项卡,在“函数库”组中找

到日期和时间函数TODAY。 2、此时会弹出“函数参数”对话框,上面有对TODAY函数的介绍,说它是返回日期格式的当前日期,且不需要参数,直接确定即可。 3、现在C2单元格中会返回TODAY函数的值,我们双击C2单元格就可以进入编辑状态,然后在现有的公式后加上“-B2”即可。这是

我们一般理解的求年龄的方法,用现在的日期减去出生日期。 4、但是你会发现Excel算出来的结果是一个日期,这是比较容易理解的,因为一个日期减去另外一个日期嘛,结果当然也就是一个日期了,没关系,我们把这个日期换算成一个年份值就好了。Excel中正好有对应的函数,它的名字叫做YEAR。那现在只好委屈一下,让我们之前的那个公式成为YEAR函数的参数咯。

YEAR函数。

6、在弹出的YEAR函数参数对话框中,将之前剪切的内容粘贴到它的参数对应的文本框内,并确定。 7、当我们把日期值换算成一个年份值之后,你发现C2单元格显示的还是一个日期格式的值,那现在我们就要调整它的数字格式了。选

中C2单元格,将其数字格式设置为“常规”。 8、好了,现在C2单元格中显示的是一个数值了,但还是不对,用脑子计算一下,你发现它多了1900年,这是因为Excel函数使用了1900年时间系统,YEAR函数返回的是一个1900至9999之间的值,所以我们自己在现有的公式后减去多出来的1900就好了。

Excel制表单元格自定义格式参数详解(精)

单元格自定义格式参数详解 1、”G/通用格式”:以常规的数字显示,相当于”分类”列表中的”常规”选项。 例:代码:”G/通用格式”。10显示为10;10.1显示为10.1。 2、“#”:数字占位符。只显有意义的零而不显示无意义的零。小数点后数字如大于”#”的数量,则按”#”的位数四舍五入。 例:代码:”###.##”,12.1显示为12.10;12.1263显示为:12.13 3、”0”:数字占位符。如果单元格的内容大于占位符,则显示实际数字,如果小于点位符的数量,则用0补足。例:代码:”00000”。1234567显示为1234567;123显示为00123 代码:”00.000”。100.14显示为100.140;1.1显示为01.100 4、”@”:文本占位符,如果只使用单个@,作用是引用原始文本, 要在输入数字数据之后自动添加文本,使用自定义格式为:”文本内容”@;要在输入数字数据之前自动添加文本,使用自定义格式为:@”文本内容”。@符号的位置决定了Excel 输入的数字数据相对于添加文本的位置。 如果使用多个@,则可以重复文本。 例:代码”;;;" 集团"@"部" “,财务显示为:集团财务部 代码”;;;@@@“,财务显示为:财务财务财务 5、”*”:重复下一次字符,直到充满列宽。 例:代码:”@*-”。”ABC ”显示为”ABC-------------------” 可就用于仿真密码保护:代码”**;**;**;**”,123显示为:************ 6、”,”:千位分隔符

例:代码” #,###“,12000显示为:12,000 7、\:用这种格式显示下一个字符。" 文本" ,显示双引号里面的文本。 “\”:显示下一个字符。和“”””用途相同都是显示输入的文本,且输入后会自动转变为双引号表达。 例:代码" 人民币 "#,##0,,"百万" ,与\人民币 #,##0,,\百万,输入1234567890显示为:人民币 1,235百万 8、“?”:数字占位符。在小数点两边为无意义的零添加空格,以便当按固定宽度时,小数点可对齐,另外还用于对不等到长数字的分数 例:分别设置单元格格式为”??.?? ”和”???.??? ”, 对齐结果如下: 输入12.1212 显示12.12 12.121 9、颜色:用指定的颜色显示字符。可有八种颜色可选:红色、黑色、黄色,绿色、白色、兰色、青色和洋红。 例:代码:“[青色];[红色];[黄色];[兰色]”。显示结果为正数 为青色,负数显示红色,零显示黄色,文本则显示为兰色 [颜色N]:是调用调色板中颜色,N 是0~56之间的整数。例:代码:“[颜色3]”。单元格显示的颜色为调色板上第3种颜色。、 10、条件:可以单元格内容判断后再设置格式。条件格式化只限于使用三个条件,其中两个条件是明确的,另个是“所有的其他”。条件要放到方括号中。必须进行简单的比较。例:代码:“[>0]”正数”;[=0];”零”;负数”。显示结果是单元格数值大于零显示正数,等于0显示零,小于零显示“负数”。 11、“!”:显示“" ”。由于引号是代码常用的符号。在单元格中是无法用""" 来显示出来“" ”。要想显示出来,须在前加入“!”

Excel(ESteel)自定义函数源代码

Public Function DJ(钢筋直径As Single, 最小搭接直径As Single, 搭接类别As String, 机械接头As String, 锚固As Single) Dim x As Integer, X1 As Integer, X2 As Integer, a As Integer If 钢筋直径> 0 Then a = 1 Else a = 0 End If If 钢筋直径> 最小搭接直径Then If 机械接头= "双面焊10D" Then DJ = 钢筋直径+ 2 End If If 机械接头= "单面焊5D" Then DJ = 钢筋直径/ 2 + 2 End If If 机械接头= "直螺纹" Then DJ = 0 End If End If If 钢筋直径<= 最小搭接直径Then If 搭接类别= "腰筋G" Then DJ = 钢筋直径* 1.5: x = 1 End If If 搭接类别= "搭接100%" Or 搭接类别= "构造柱" Then DJ = MAX(锚固* 1.6, 30, 0, 0) * a: X1 = 1 End If If 搭接类别= "Q" Or 搭接类别= "Z" Or 搭接类别= "搭接25%" Then DJ = MAX(锚固* 1.2, 30, 0, 0) * a: X2 = 1 End If If x + X1 + X2 = 0 Or 搭接类别= "" Then DJ = MAX(锚固* 1.4, 30, 0, 0) * a End If End If End Function Public Function MG(抗震级别As Single, 钢筋级别As Single, 砼号C As Single, 钢筋直径As Single) Dim j As Single Dim k As Single Dim g As Single If 钢筋直径>= 28 Then If 钢筋级别>= 2 Then j = 1.1 Else j = 1

Excel自定义函数157个(精)

自定义函数功能 查看代码: 自定义函数取值范围如何设定 相当于VLOOKUP 吧,查询某一值第num 次出现的值 返回指定列数的列标 用指定字符替换某字符 从右边开始查找指定字符在字符串中的位置 将20040510数字格式,转换为2004-5-10的日期格式的函数工龄计算: 计算日期差,除去星期六、星期日的自定义函数 這是一個將英文字反轉的自定函數 关于个人所得税的 一个能计算是否有重复单元的函数 试编写数字金额转中文大写的函数 人民币大小写转换函数 获取区域颜色值: 获取活动工作表名的: 显示在“插入函数”对话框的“或选择类别”下拉列表中 复合函数

对工作表的第一列进行各种查询 序数词转换函数 获取最后一行行数的: 判断是否连接在线的函数 查找一字符串(withinstr在另一字符串中 从工作表第一行的标题文字以数字形式返回所在列号多工作表有条件求和 有的时候需要返回多个数值,那就是用返回数组吧Excel 自定义函数返回一组字符串 也来个返回指定列数的列标号自定义函数 返回 Column 英文字 查找指定列名的列数 文字格式的时间(分:秒转化为数字格式(秒 将"hh:mm:ss"格式的时分秒数转换成秒数 试编写金额中文大写转数字函数 身份证号码侦测自定义函数 显示公式的函数 为财务人员理帐查找用的 数值转换为字符地址

字符地址转换为数值 VB 中用的,虽然VBA 中也有一个Application.Wait 功能得到字符串实际的长度(以单字节记) 也做个个人所得税 18位身份证最后一位有效性验证 计算符合maturity condition的拆解金额 相当于多个vlookup 函数相加, 判断表是否存在的函数 我这个是角度转弧度的,以供大家参考 比较相同的字符串 對選定的陣列進行排序 取得指定月份天數 排序工作表活頁薄 統計陣列中非重復數據個數 摘取子字符串自定义函数 根据列表返回列序号 查找某值在某区域第n 次出现时对应列的值 刪除當前工作表中的全部超連接。 取得相近數據

Excel如何根据身份证号码自动计算年龄

Excel如何根据身份证号码自动计算年龄方法1 1.打开要在excel中编辑的表格 2.如图所示,在身份证号后面的空格即年份一列第一格输入公式=MID(A2,7,4),输入完成后按下enter键,A2指身份证号的单元格,数字7为数字开始位置,4为字符个数 3.按下enter键后,如图所示年份一栏已显示出出生年份 4.如图所示,选中已显示年份的一格,鼠标点击绿色框右下角的小方框并下拉至身份证号的最后一栏 5.如图所示,每个身份证号对应的年份都显示出来了 6.如图所示再在年龄一列第一格输入公式2018-MID(A2,7,4),按下enter键 7.即可看到年龄已被计算出来为21岁,如图所示鼠标点击绿色框右下角的小方框并下拉至身份证号的最后一栏 8.如图所示,用这种“自动填充”功能,就能让同类型单元格有同样的公式计算结果 方法2 1.打开要在excel中编辑的表格,并选中年龄那一列的第一格 2.点击公式 3.再点击插入函数 4.在弹出来的对话框中在选择函数那一栏点击全部 5.下拉右侧的滚动条找到MID函数点击它

6.点击右下角的确定 7.在弹出来的对话框中点击第一格 8.然后点击Excel文档中的A2单元格 9.在第二格中输入数字7,表示数字开始位置 10.在第三格中输入数字4,表示字符个数为四个 11.最后单击确定 12.即可看到该身份证号的年份已经算出来了 13.然后在该公示前输入2018-即公式2018-MID(A2,7,4)按下enter键 14.即可看到年龄计算出来为21岁,下拉该单元格右下角的小黑方使下面的单元格拥有同样的计算格式 15.最后即可看到所有的年龄就被计算出来了

用Excel函数计算年龄几法

用Excel函数计算年龄几法 在Excel中利用系统时间和出生年月计算年龄是人事管理、工资统计中经常性遇到的工作,笔者由于工作关系对此有些研究,现将有关计算方法介绍如下,供读者朋友们参考: 一、利用DAYS360、CEILING和TRUNC函数 1.函数简介 ①DAYS360函数 它能按每年360天(每月30天)计算出两个日期间的天数,作为计算工龄的工具非常方便。它的语法为: DAYS360(Start_date,end_date,method) 其中,Start_date是计算时间段的起始日期,end_date是计算时间段的结束日期,method用来指定计算方法的逻辑值(取FALSE或忽略使用美国方法,取TRUE则使用欧洲方法)。 另外,不同地方计算工龄的规则不尽相同。有的按“虚工龄”计算,如1998年6月1日至2000年12月31日工龄为3年;而有的则按“实工龄”计算,1998年6月1日至2000年12月31日工龄为2年;对此可使用CEILING函数或TRUNC函数处理。 ②CEILING函数 它的语法为: CEILING(number,significance) 其中number为待计算的数值,significance确定取整计算的倍数;该函数可将number沿着绝对值增大的方向,计算出一个最接近(或最小倍数significance)的整数。 ③TRUNC函数 它的作用是将数字的指定部分截去,计算出一个最接近的整数或小数,语法为: TRUNC(number,num_digits) 其中number为待计算的数值,num_digits用于指定小数部分的截取精度,取0时不保留小数、取1时保留一位小数(依次类推)。 2.计算公式 ①“虚工龄” 根据计算要求和有关函数的特点,计算“虚工龄”的公式为:“=CEILING((DAYS360(A1,B1))/360,1)”。公式中的A1和B1分别存放工龄的起止日期,“DAYS360(A1,B1)”计算两个日期间的天数,(DAYS360(A1,B1))/360则按一年360天计算出工龄。由于工龄一般以年为单位,故用CEILING函数将上面的计算结果(沿绝对值增大的方向)取整,从而得出“虚工龄”。 ②“实工龄” 计算“实工龄”的公式为:“=TRUNC((DAYS360(A1,B1))/360,0)”,公式中计算工龄天数的方法与上面的相同。TRUNC函数将(DAYS360(A1,B1))/360的计算结果截去小数部分,从而得出“实工龄”。如果计算结果需要保留一位小数,只须将公式修改为“=TRUNC((DAYS360(A1,B1))/360,1)”即可。 二、YEAR和RIGHT函数 1.函数简介 ①YEAR函数 它可以计算出日期序列数(如两个日期相减的结果)所对应的年份数,其语法为:YEAR(Serial_ number),其中Serial_ number为待计算的日期序列数,既可以是一个具体的数值,也可以是一个表达式。

EXCEL中单元格格式的自定义详解.

EXCEL中单元格格式的自定义详解 excel单元格自定义格式1 代码结构组成分为四个部分,中间用“;”号分隔,具体如下: 正数格式;负数格式;零格式;文本格式 各个参数的涵义 1、“G/通用格式”:以常规的数字显示,相当于“分类”列表中的“常规”选项。 例:代码:“G/通用格式”。10显示为10;10.1显示为10.1。 2、“0”:数字占位符。如果单元格的内容大于占位符,则显示实际数字,如果小于点位符的数量,则用0补足。 例:代码:“00000”。1234567显示为1234567;123显示为00123 代码:“00.000”。100.14显示为100.140;1.1显示为01.100 3、“#”:数字占位符。只显有意义的零而不显示无意义的零。小数点后数字如大于“#”的数量,则按“#”的位数四舍五入。

例:代码:“###.##”,12.1显示为12.10;12.1263显示为:12.13 4、“?”:数字占位符。在小数点两边为无意义的零添加空格,以便当按固定宽度时,小数点可对齐,另外还用于对不等到长数字的分数 例:分别设置单元格格式为“??.??“和“???.???”,对齐结果如下:例:设置单元格自定义格式“# ??/???”。“1.25”显示为“1 1/4” 5、“.”:小数点。如果外加双引号则为字符。 例:代码“0.#”。“11.23”显示为“11.2” 6、“%”:百分比。 例:代码“#%”。“0.1”显示为“10%” 7、“,”:千位分隔符。数字使用千位分隔符。如时在代码中“,”后空,则把原来的数字缩小1000倍。 例:代码:“#,###”。“10000”显示为“10,000” 代码:“#,”。10000显示为10。

VSTO4.0创建EXCEL自定义函数

前段时间装了个visual studio 2010,试着用里面的VSTO4.0,但是对如何生成一个自定义函数始终搞不明白(之前也看了《VSTO开发指南》,但觉得里面所讲的东西太泛了,而且版本不一样,形式也改变了不少),终于在网上看到有人写出一个完整的过程(原文请看https://www.doczj.com/doc/995455265.html,/brooks-dotnet/archive/2011/01/16/1936871.html),但在实操中还是有不少问题,但经过多次尝试,终于解决了所遇到的问题,现在我就根据原文的内容以及建立过程中所遇到的问题,重新整理后讲述建立一个自定义函数的过程。 一、启动VS2010,(这里尝试着用C#来编写)新建一个类库,填好名称之后按确定,开始编码。 二、进入编程界面后,先引用必须的类库 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; using Microsoft.Win32; using Microsoft.Office.Interop.Excel 设置GUID及COM的一些特性 [Guid("A4AAE79B-9587-4014-BABB-966C5DF76C83")] [ClassInterface(ClassInterfaceType.AutoDual),ComVisible(true)] 如图示:

Guid这个标识码可用LINQPad程序来获取(可从https://www.doczj.com/doc/995455265.html,/下载) 在类中,除了有函数主体外,还必须有注册及注销时的行为语句,所以必须添加以下语句:#regi on COM Related [ComRegisterFunction] public static void Regi sterFunction(Type type) { Registry.ClassesRoot.CreateSubKey(GetSubKeyName(type, "Programmable")); var key = Registry.ClassesRoot.OpenSubKey(GetSubKeyName(type, "InprocServer32"), true); key.SetValue("", Environment.SystemDirectory + @"\mscoree.dll", Regi stryValueKind.String); } [ComUnregisterFunction] public static void Unregi sterFuncti on(Type type) { Registry.ClassesRoot.DeleteSubKey(GetSubKeyName(type, "Programmable"), false); } private static string GetSubKeyName(Type type, string subKeyName)

Excel自定义单元格格式详解

Excel自定义单元格格式详解 1、“G/通用格式”:以常规的数字显示,相当于“分类”列表中的”“常规”选项。 例:代码:”G/通用格式”。10显示为10;10.1显示为10.1。 2、“#”:数字占位符。只显有意义的零而不显示无意义的零。小数点后数字如大于“#”的数量,则按“#”的位数四舍五入。 例:代码:”###.##”,12.1显示为12.10;12.1263显示为:12.13 3、”0”:数字占位符。如果单元格的内容大于占位符,则显示实际数字,如果小于点位符的数量,则用0补足。 例:代码:”00000”。1234567显示为1234567;123显示为00123 代码:”00.000”。100.14显示为100.140;1.1显示为01.100 4、”@”:文本占位符,如果只使用单个@,作用是引用原始文本。 要在输入数字数据之后自动添加文本,使用自定义格式为:“文本内容”@;要在输入数字数据之前自动添加文本,使用自定义格式为:@“文本内容”。@符号的位置决定了Excel输入的数字数据相对于添加文本的位置。 如果使用多个@,则可以重复文本。 例:代码”;;;"集团"@"部"“,财务显示为:集团财务部 代码”;;;@@@“,财务显示为:财务财务财务 5、“*”:重复下一个字符,直到充满列宽。 例:代码:”@*-”。”ABC”显示为”ABC-------------------” 可就用于仿真密码保护:代码”**;**;**;**”,123显示为:************ 6、“,”:千位分隔符 例:代码“#,###”,12000显示为:12,000 7、\:用这种格式显示下一个字符。"文本",显示双引号里面的文本。 “\”:显示下一个字符。和””用途相同都是显示输入的文本,且输入后会自动转变为双引号表达。 例:代码"人民币"#,##0,,"百万",与\人民币#,##0,,\百万, 输入1234567890显示为:人民币1,235百万 8、“?”:数字占位符。在小数点两边为无意义的零添加空格,以便当按固定宽度时,小数点可对齐,另外还用于对不等到长数字的分数 例:分别设置单元格格式为“??.??”和“???.???”,对齐结果如下: 输入12.1212 显示12.12 12.121 9、颜色:用指定的颜色显示字符。可有八种颜色可选:红色、黑色、黄色,绿色、白色、兰色、青色和洋红。 例:代码:“[青色];[红色];[黄色];[兰色]”。显示结果为正数为青色,负数显示红色,零显示黄色,文本则显示为兰色 [颜色N]:是调用调色板中颜色,N是0~56之间的整数。 例:代码:“[颜色3]”。单元格显示的颜色为调色板上第3种颜色。 10、条件:可以对单元格内容判断后再设置格式。条件格式化只限于使用三个条件,其中两个条件是明确的,另个是“所有的其他”。条件要放到方括号中。必须进行简单的比较。 例:代码:“[>0]”正数”;[=0];”零”;负数”。显示结果是单元格数值大于零显示正数,等于0显示零,小于零显示“负数”。 11、“!”:显示“"”。由于引号是代码常用的符号。在单元格中是无法用"""来显示出来“"”。要想显示出来,须在前加入“!”强制显示后面的字符。 例:代码:“#!"”。“10”显示“10"” 代码:“#!"!"”。“10”显示“10""” 12、时间和日期代码常用日期和时间代码 “YYYY”或“YY”:按四位(1900~9999)或两位(00~99)显示年(四个Y 表示的年代码可以用e代替显示四位的年。) “MM”或“M”:以两位(01~12)或一位(1~12)表示月。 “DD”或“D”:以两位(01~31)或一位(1-31)来表示天。 例:代码:“YYYY-MM-DD”。2005年1月10日显示为:“2005-01-10” excel单元格自定义格式1 代码结构组成代码码分为四个部分,中间用“;”号分隔,具体如下: 正数格式;负数格式;零格式;文本格式 各个参数的涵义

Excel自定义函数实例集锦文章

在Excel中自定义函数 Excel函数虽然丰富,但并不能满足我们的所有需要。我们可以自定义一个函数,来完成一些特定的运算。下面,我们就来自定义一个计算梯形面积的函数: 1.执行“工具→宏→Visual Basic编辑器”菜单命令(或按“Alt+F11”快捷键),打开Visual Basic编辑窗口。 2.在窗口中,执行“插入→模块”菜单命令,插入一个新的模块——模块1。 3.在右边的“代码窗口”中输入以下代码: Function V(a,b,h) V = h*(a+b)/2 End Function 4.关闭窗口,自定义函数完成。 以后可以像使用内置函数一样使用自定义函数。 提示:用上面方法自定义的函数通常只能在相应的工作簿中使用。

经验分享Excel中自定义函数实例剖析 一、认识VBA 在介绍自定义函数的具体使用之前,不得不先介绍一下VBA,原因很简单,自定义函数就是用它创建的。VBA的全称是Visual Basic for Ap pli ca tion,它是微软最好的通用应用程序脚本编程语言,它的特点是容易上手,而且功能非常强大。 在微软所有的Office组件中,如Word、Access、Powerpoint等等都包含VBA,如果你能在一种Office组件中熟练使用VBA,那么在其它组件中使用VBA的原理是相通的。 Excel中VBA主要有两个用途,一是使电子表格的任务自动化;二是可以用它创建用于工作表公式的自定义函数。 由此可见,使用Excel自定义函数的一个前提条件是对VBA基础知识有所了解,如果读者朋友有使用Visual Basic编程语言的经验,那么使用VBA时会感觉有很多相似之处。如果读者朋友完全是一个新手,也不必太担心,因为实际的操作和运用是很简单的。 二、什么时候使用自定义函数? 有些初学Excel的朋友可能有这样疑问:Excel已经内置了这么多函数,我还有必要创建自己的函数吗? 回答是肯定的。原因有两个,它们也正好可以解释什么时候使用Excel自定义函数的问题。 第一,自定义函数可以简化我们的工作。 有些工作,我们的确可以在公式中组合使用Excel内置的函数来完成任务,但是这样做的一个明显缺点是,我们的公式可能太冗长、繁琐,可读性很差,不易于管理,除了自己之外别人可能很难理解。这时,我们可以通过使用自定义函数来简化自己的工作。 第二,自定义函数可以满足我们个性化的需要,可以使我们的公式具有更强大和灵活的功能。 实际工作的要求千变万化,仅使用Excel内置函数常常不能圆满地解决问题,这时,我们就可以使用自定义函数来满足实际工作中的个性化需求。

Excel中最精确的计算年龄的公式

Excel中最精确的计算年龄的公式( 网上搜到的共式大概有这么几种: 1、计算出生日期到某一指定日期(一般选用某年的最后一天入2006年12月31日)的的天数,然后除以360 ,得到一个数值,然后用 int()函数取整,得出需要的年龄。一般使用的公式如下: =IF(C12="","",INT(DAYS360(C12,"2006-12-31")/360)) 聪明一点的人知道使用这个公式, =IF(C12="","",INT(DAYS360(C12,TODAY())/360)) 这个方法,这个公式的弊端在于,一、将每个月默认为30天去计算两个日期之间的天数,二、将每年默认为360天去计算年龄。这种方法显然不精确。 2、年份直接相减 计算周岁 =YEAR(NOW())-YEAR(C12) 计算虚岁 =YEAR(NOW())-YEAR(C12)+1 这种算法的精确程度显而易见,粗略估算还算可以。 3、使用DATEDIF函数 这种方法与第一种方法采用了相同的思路,但是其的精确程度显然比第一种方法要高,这取决于DATEDIF函数本身的精确性。 =IF(C12="","",INT(DATEDIF(C12,"1983-3-20","D")/365)) 或者, =IF(C12="","",INT(DATEDIF(C12,now(),"D")/365)) 但是这种方法强行将一年固定为365天,我们知道通常情况每个四年就有一年是366天所以这种算法也不是很精确。 通过认真分析,我觉得只有结合我们计算年龄的实际方法,才能编制出准确无误的公式。首先分析人们计算年龄的方法,例如,笔者系1983年3月20日生人,如果要在2007年3月23日这天计算他的年龄,通常采用这样的方法。首先,人们会用2007减去1983得出的年龄为24岁,然后再看看他“满没满”24岁,就是看看出生的月份和日期比今天早还是晚,如果出生日期晚于今天则表示没有满,那么他的年龄就应该是2007-1983-1=23岁。如果出生日期早于今天或者就是今天,就说明他已经满了24岁或者正好满24岁,则他的年龄就是 2007-1983=24岁。分析清楚了计算年龄的过程我们再根据这个过程编写公式就很容易了。 综上,我编写了如下公式,在实际应用中将公式中所有的C12替换为,你的所使用的出生日期所在的表格行号列号组合即可。如(A1,B2等等) =IF(MONTH(NOW())MONTH(C12),YEAR(NOW())-YEAR(C12),IF(DAY(NOW())>=DAY(C12),YEAR(N OW())-YEAR(C12),YEAR(NOW())-YEAR(C12)-1))) 公式说明

EXCEL自定义格式详解

EXCEL自定义格式详解 ”G/通用格式”:以常规的数字显示,相当于”分类”列表中的”常规”选项。 例:代码:”G/通用格式”。10显示为10;显示为。 2、“#”:数字占位符。只显有意义的零而不显示无意义的零。小数点后数字如大于”#”的数量,则按”#”的位数四舍五入。 例:代码:”###.##”,显示为;显示为: 3、”0”:数字占位符。如果单元格的内容大于占位符,则显示实际数字,如果小于点位符的数量,则用0补足。 例:代码:”00000”。1234567显示为1234567;123显示为00123 代码:”00.000”。显示为;显示为 4、”@”:文本占位符,如果只使用单个@,作用是引用原始文本, 要在输入数字数据之后自动添加文本,使用自定义格式为:”文本内容”@;要在输入数字数据之前自动添加文本,使用自定义格式为:@”文本内容”。@符号的位置决定了Excel 输入的数字数据相对于添加文本的位置。 如果使用多个@,则可以重复文本。 例:代码”;;;"集团"@"部"“,财务显示为:集团财务部 代码”;;;@@@“,财务显示为:财务财务财务 5、”*”:重复下一次字符,直到充满列宽。 例:代码:”@*-”。”ABC”显示为”ABC-------------------” 可就用于仿真密码保护:代码”**;**;**;**”,123显示为:************ 6、”,”:千位分隔符 例:代码” #,###“,12000显示为:12,000 7、\:用这种格式显示下一个字符。"文本",显示双引号里面的文本。 “\”:显示下一个字符。和“”””用途相同都是显示输入的文本,且输入后会自动转变为双引号表达。 例:代码"人民币 "#,##0,,"百万",与\人民币 #,##0,,\百万, 输入90显示为:人民币 1,235百万 8、“”:数字占位符。在小数点两边为无意义的零添加空格,以便当按固定宽度时,小数点可对齐,另外还用于对不等到长数字的分数 例:分别设置单元格格式为”.”和”.”,对齐结果如下: 输入显示 9、颜色:用指定的颜色显示字符。可有八种颜色可选:红色、黑色、黄色,绿色、白色、兰色、青色和洋红。 例:代码:“[青色];[红色];[黄色];[兰色]”。显示结果为正数为青色,负数显示红色,零显示黄色,文本则显示为兰色

excel中161个VBA_自定义函数(超级实用)(精)

目录 '1.函数作用:返回 Column 英文字 (9) '2.函数作用:查询某一值第num 次出现的值................9 '3.函数作用:返回当个人工资薪金所得为2000元(起征点为850元时的应纳个人所得税税额.............................10 '4.函数作用:从形如"123545ABCDE"的字符串中取出数字....11 '5.函数作用:从形如"ABCD12455EDF"的字符串中取出数字...11 '6.函数作用:按SplitType 取得RangeName 串值中的起始位置12 '7.函数作用:将金额数字转成中文大写....................13 '8.函数作用:计算某种税金..............................18 '9.函数作用:人民币大、小写转换........................19 '10.函数作用:查汉字区位码.............................20 '11.函数作用:把公元年转为农历.........................21 '12.函数作用:返回指定列数的列标.......................42 '13.函数作用:用指定字符替换某字符.....................43 '14.函数作用:从右边开始查找指定字符在字符串中的位置...43 '15.函数作用:从右边开始查找指定字符在字符串中的位置...44 '16.函数作用:计算工龄.................................44 '17.函数作用:计算日期差,除去星期六、星期日.. (45) '18.函数作用:将英文字反转的自定函数 (46) '19.函数作用:计算个人所得税...........................46 '20.函数作用:一个能计算是否有重复单元的函数...........47 '21.数字金额转中文大写................................48 '22.函数 作用:将数字转成英文...........................49 '23.函数作用:人民币大小写转换.........................52 '24.函数作用:获取区域颜色值...........................53 '25.函数作用:获取活动工作表名.........................53 '26.函数作用:获取最后一行行数. (54) '27.函数作用:判断是否连接在线.........................54 '28.函数作用:币种转换.................................54 '29.函数作用:检验工作表是否有可打印内容...............55 '30. 函数作用:查找一字符串(withinstr在另一字符串中(findstr1中某一次(startnum出现 时的位置,返回零表示没找到。..................................................57 '31.函数作用:增加文件路径最后的“\”符号..............58 '32.函数作用:计算所得税...............................58 '33.函数作用:从工作表第一行的标题文字以数字形式返回所在列号..................................................58 '34.函数作用:在多个工作表中查找一个范围内符合某个指定条件的项目对应指定范围加总求和..........................59 '35.函数作用:返回

用VBA编写Excel自定义的累加函数

用VBA编写Excel自定义的累加函数 郑云勇 云南楚雄思远投资有限公司 摘要:Excel是常用的数据统计分析软件,本文介绍了用VBA编写加载宏的方法来扩展、定制Excel,以适合工程统计专业的特殊需要。下面,讨论如何实现一个自定义的具有任意合计形如“30.2m/165.45m3”的“分子/分母”工程量统计功能的函数,由于Sum函数系统已经内置,我们要实现的函数不妨命名为uLSum和uRSum。 关键词:Excel,定制,加载宏 1引言 电子表格软件Microsoft Excel具有快捷方便的数据输入方式和强大的数据处理能力,是工程地质中常用的数据统计分析软件,为我们的工作带来了极大的方便。但Excel毕竟只是一个通用的办公软件,对于工程专业中的各种特殊需求,它自然不会有专门的功能支持。比如:采矿工程师在做每年的采掘生产计划时,通常遇到要累加掘进工程量的合计数,即“30.5/125.6”加“120.2/625.8”的合计,我们通常的做法是分步完成,先将分子之、分母之和求出来后,在填入单元格中。或者将分子、分母分别填入两列中,分别用sum函数求和。这样既劳神,又容易出错,特别是对大量数据进行复杂的公式计算。如果从头编写一个独立、专门的计算程序来处理,则似有小题大作之嫌,而且还不能与Excel无缝集成。那么有

没有更好的解决办法呢?答案是肯定的,那就是定制Excel,通过编程扩展它的功能。 事实上,Excel作为Microsoft最优秀的软件之一,很早就开始提供了二次开发的接口,4.0版以前有XLM,4.0版又发布了Excel C API,5.0版则内置了VBA。现在的Excel,除了人所共知的操作功能外,还是一个完善的软件开发平台。它拥有完备的ActiveX Automation服务器和客户机机制,可以通过编程对其进行全方位的扩展、定制,实现各种自定义功能。基于ActiveX Automation技术,使用C/C++等多种支持Automation的编程语言均可控制Excel,但我们最为熟悉和常用的还是内置于Excel中的VBA。 2VBA简介 Visual Basic for Application(VBA)是Microsoft面向最终用户的应用软件编程语言。它最早出现于Microsoft的Excel和Project中,如今VBA已成为VB和所有Office产品的组件。另外,越来越多的软件开发商购买了VBA语言的使用权,如常用的绘图软件AutoCAD等均已支持VBA作为二次开发工具。这意味着我们懂得VB,就已经懂得了VBA,反之亦然。 VBA的最大特点和最大优点是利用面向对象(OOP)的ActiveX Automation技术,使语言的引擎在技术上与开发环境分离,这可以从在任何VBA的IDE环境中都可以看到VBA单独的入口得到印证。因此,VBA的功能在很大程度上依赖于它的客户显露的Automation 接口,例如,VB与Office套件中的VBA,能完成的功能就大不一样。

EXCEL利用身份证号码计算年龄以及年龄分段的技巧

在EXCEL中如何利用身份证号码计算出生年月年龄及性别 1、身份证号码简介(18位): 1~6位为地区代码;7~10位为出生年份;11~12位为出生月份;13~14位为出生日期;15~17位为顺序号,并能够判断性别,奇数为男,偶数为男;第18位为校验码。 2、确定“出生日期”: 18位身份证号码中的生日是从第7位开始至第14位结束。提取出来后为了计算“年龄”应该将“年”“月”“日”数据中添加一个“/”或“-”分隔符。 ①正确输入了身份证号码。(假设在D2单元格中) ②将光标定位在“出生日期”单元格(E2)中,然后在单元格中输入函数公式 “=MID(D2,7,4)&"-"&MID(D2,11,2)&"-"&MID(D2,13,2)”即可计算出“出生日期”。 关于这个函数公式的具体说明:MID函数用于从数据中间提取字符,它的格式是:MID (text,starl_num,num_chars)。 Text是指要提取字符的文本或单元格地址(上列公式中的D2单元格)。 starl_num是指要提取的第一个字符的位置(上列公式中依次为7、11、13)。 num_chars指定要由MID所提取的字符个数(上述公式中,提取年份为4,月份和日期为2)。 多个函数中的“&”起到的作用是将提取出的“年”“月”“日”信息合并到一起,“/”或“-” 分隔符则是在提取出的“年”“月”“日”数据之间添加的一个标记,这样的数据以后就可以作为日期类型进行年龄计算。操作效果如下图:

3、确定“年龄”: “出生日期”确定后,年龄则可以利用一个简单的函数公式计算出来了:将光标定位在“年龄”单元格中,然后在单元格中输入函数公式“=INT((TODAY()-E2)/365)”即可计算出“年龄”。 关于这个函数公式的具体说明: ①TODAY函数用于计算当前系统日期。只要计算机的系统日期准确,就能立即计算出当前的日期,它无需参数。操作格式是TODAY()。 ②用TODAY()-E2,也就是用当前日期减去出生日期,就可以计算出这个人的出生天数。 ③再除以“365”减得到这个人的年龄。 ④计算以后可能有多位小数,可以用【减少小数位数】按钮,将年龄的数值变成“整数”,也可在公式= (TODAY()-E2)/365中再嵌套一个“INT”函数取整数,即 “ =INT((TODAY()-E2)/365)”,这样就会自动将后面的小数去掉,只保留整数部分。操作效果如下图: 还有一种函数(datedif)可以解决这个问题:这个函数用于计算两个日期之间的天数、月数或年数。 语法:DATEDIF(start_date,end_date,unit) start_date为一个日期,它代表时间段内的第一个日期或起始日期。 end_date为一个日期,它代表时间段内的最后一个日期或结束日期。

Excel自定义格式规则及其用法

自定义格式规则及其用法 一、自定义格式的进入 开始——单元格——格式——设置单元格格式--数字——自定义 二、基本原理 在格式代码中,最多可以指定四个节;每个节之间用分号进行分隔,这四个节顺序定义了格式中的正数、负数、零和文本; 只指定两个节,则第一部分用于表示正数和零,第二部分用于表示负数; 只指定了一个节,那么所有数字都会使用该格式; 如果要跳过某一节,则对该节仅使用分号即可。 三、基础字符 1.数字占位符,有三种:? # 0 2.中括号[]表示条件 3.逗号,千位分隔符,如用在代码最后,表示将数字缩小1000倍 4.分号,隔开条件,末尾可省

例一、输入1显示对号,输入2显示错号 代码:[=1]"√";[=2]"×" 操作方法: 步骤1 :选取要输入的区域,打开单元格格式设置窗口。 步骤2 :数字》自定义》输入以上代码; 注:√可以先在单元格中输入,然后粘到自定义格式框中。 例二、电话号码分段显示(手机号码,要求显示成*** **** ****的格式) 代码:000 0000 0000 操作方法: 打开单元格格式窗口》数字》自定义,在右侧的文本框中输入代码。

例三、自动添加上下箭头 代码: [颜色50][>0] ↑* 0.00;[颜色3][<0] ↓* 0.00 数据分析中,对比分析法是最常用的。可以自动添加上升和下降箭头的功能,非常非常的实用。正数:数字前添加绿色的上升箭头↑;负数:数字前添加红色的下降箭头↓ 设置方法: 打开单元格格式设置窗口》数字》自定义,在右侧的代码框中输入以上代码。 代码说明: 1 在自定义格式中可以设置条件,条件放在中括号内。如:[>0] 2 两个条件之间用分号(;)分隔,最多可以设置2个条件: [条件1]条件1显示的格式; [条件2]条件2显示的格式;非前两种条件显示的格式。

(完整版)Excel自定义函数方法拼音

Excel自定义函数方法: 1.启动Excel 2003 (其它版本请仿照操作) ,打开相应的工作表; 2.执行“工具→宏→Visual Basic编辑器”命令(或者直接按“Alt+F11”组合键),进入Visual Basic编辑状态; 3.执行“插入→模块”命令,插入一个新模块。再双击插入的模块,进入模块代码编辑 状态; 4.将代码输入其中; 5.代码输入完成后,关闭 V isual Basic 编辑窗口,返回 Excel 编辑状态; 6. 自定义函数就可以用了,如:选中 D2 单元格,输入公式: =getpy(A2) 。 有极个别的汉字不能转换,手动就可以了!很方便了。 Function pinyin (p As String) As String i = Asc(p) Select Case i Case -20319 To -20318: pinyin =“a” Case -20317 To -20305: pinyin =“ai” Case -20304 To -20296: pinyin =“an” Case -20295 To -20293: pinyin =“ang” Case -20292 To -20284: pinyin =“ao” Case -20283 To -20266: pinyin =“ba” Case -20265 To -20258: pinyin =“bai” Case -20257 To -20243: pinyin =“ban” Case -20242 To -20231: pinyin =“bang” Case -20230 To -20052: pinyin =“bao”

相关主题
文本预览
相关文档 最新文档