打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
几个好用的excel函数

Function REWARD(sales, years) As Double

  Const r1 As Double = 0.04

  Const r2 As Double = 0.07

  Const r3 As Double = 0.1

  Const r4 As Double = 0.13

  Const r5 As Double = 0.16

  Const r6 As Double = 0.19

 

  Select Case sales

  Case Is <= 2800

  REWARD = sales * (r1 + years / 200)

  Case Is <= 7900

  REWARD = sales * (r2 + years / 200)

  Case Is <= 15000

  REWARD = sales * (r3 + years / 200)

  Case Is <= 30000

  REWARD = sales * (r4 + years / 200)

  Case Is <= 50000

  REWARD = sales * (r5 + years / 200)

  Case Is > 50000

  REWARD = sales * (r6 + years / 200)

  End Select

  End Function

 

 

 

 Function TAX(salary)

  Const r1 As Double = 0.05

  Const r2 As Double = 0.08

  Const r3 As Double = 0.2

  Select Case salary

  Case Is <= 800

  TAX = 0

  Case Is <= 1500

  TAX = (salary - 800) * r1

  Case Is <= 2000

  TAX = (1500 - 800) * r1 + (salary - 1500) * r2

  Case Is > 2000

  TAX = (1500 - 800) * r1 + (2000 - 1500) * r2 + (salary - 2000) * r3

  End Select

  End Function

 

 

 

Function daodu(dy)

   a = Len(dy)

   For i = a To 1 Step -1

      b = Mid(dy, i, 1)

      daodu = daodu & b

   Next i

  End Function

 

 

含数字“1 公式是 =SUMPRODUCT(ISNUMBER(FIND("1",A1:A10))*1)

含数字“2 公式是 =SUMPRODUCT(ISNUMBER(FIND("2",A1:A10))*1)

 

3个公式,计算大于-5且小于5的个数:

=sum(countif(a1:a10,{">-5",">=5"})*{1,-1})

=countif(a1:a10,">-5")-countif(a1:a10,">=5")

=sumproduct((a1:a10>-5)*(a1:a10<5))

 

 

IF(B2>89,"A",IF(B2>79,"B",IF(B2>69,"C",IF(B2>59,"D","F"))))

  IF(B2>89,”优”,IF(B2>79,”良”,IF(B2>69,”中”,IF(B2>59,”及格”,”差”))))

还有一种方法为: IF(B2<60,”F”, IF(B2<=69,"D", IF(B2<=79,”C”, IF(B2<=89,"B","A",))))

 IF(B2<60,”差”,IF(B2<=69,”及格”,IF(B2<=79,”中”,IF(B2<=89,”良”,”优”))))

 

 

A1:数量10单价200

A2:数量150单价18

A3:数量187单价2000

要求在B列计算出金额

=MID(A1,3,FIND("",A1)-3)*RIGHT(A1,LEN(A1)-FIND("",A1))

=MID(A2,3,FIND("",A2)-3)*RIGHT(A2,LEN(A2)-FIND("",A2))

=MID(A3,3,FIND("",A3)-3)*RIGHT(A3,LEN(A3)-FIND("",A3))

数量10单价200

目的是要找出10200,并相乘就是要的结果。

MID(A1,3,FIND("",A1)-3)*RIGHT(A1,LEN(A1)-FIND("",A1))

分两步进行:

1.找出数量

MID(A1,3,FIND("",A1)-3)

MID提取函数,在A1单元格中从第3位开始,提取的长度用FIND计算,FIND("",A1)意思是查找""在第几位,-3 是减去(数量和单)3个字符,结果是5-3就得到了剩下两位就是数量10

2.找出单价

RIGHT(A1,LEN(A1)-FIND("",A1)

RIGHT 是从后提取的函数,根据数据的特征,单价都是在单元格最后几位,

LEN(A1) 是计算A1单元格有多少字符,FIND("",A1) 是查找""在第几位,LEN(A1)-FIND("",A1) 得到的就是最后的单价200

Function ticheng(linshou, leibie)

If leibie = "1" Then

ticheng = 0.2 * linshou

ElseIf leibie = "2" Then

ticheng = 0.1 * linshou

ElseIf leibie = "3" Then

ticheng = 0.15 * linshou

End If

End Function

 

 

Function giguan(dy)

  a = Left(dy, 6)

  If a = "510626" Then

  giguan = a & "罗江县"

  ElseIf a = "510623" Then

  giguan = a & "中江县"

  ElseIf a = "510184" Then

  giguan = a & "崇州市"

  ElseIf a = "522225" Then

  giguan = a & "思南地区"

  ElseIf a = "510181" Then

  giguan = a & "都江堰"

  ElseIf a = "513124" Then

  giguan = a & "郫县"

  End If

  End Function

 

 

CHOOSE(index_num,value1,value2,...)   返回index-num对应的项。

 

CLEAN(text)   删除文本中不能打印的字符

CONCATENATE (text1,text2,...)     合并

 

EXACT(text1,text2)               比较相同返回真假

 

FIND(find_text,within_text,start_num)      返回起始位置字符数计大小写

FINDB(find_text,within_text,start_num)     返回起始字节数

SEARCH(find_text,within_text,start_num)

SEARCHB(find_text,within_text,start_num)   返回首次出现位置(忽略大小写)

 

FIXED(number,decimals,no_commas) 把数值按decomals舍入并转化为带逗号分隔的文本形式的数值。

 

LEFT(text,num_chars)

LEFTB(text,num_bytes)

RIGHT(text,num_chars)

RIGHTB(text,num_bytes)

MID(text,start_num,num_chars)

MIDB(text,start_num,num_bytes)

 

Len(text)

 

LOWER(text)     全部转换为小写字母

PROPER(text)     第一个字母转化为大写,其它为小写。

UPPER(text)  Text    为需要转换成大写形式的文本。Text 可以为引用或文本字符串

 

REPLACE(old_text,start_num,num_chars,new_text)    使用其他文本字符串并根据所指定的字符数替换某文本字符串中的部分文本。

REPLACEB(old_text,start_num,num_bytes,new_text)

SUBSTITUTE(text,old_text,new_text,instance_num)

Text    为需要替换其中字符的文本,或对含有文本的单元格的引用。

Old_text    为需要替换的旧文本。

New_text    用于替换 old_text 的文本。

Instance_num    为一数值,用来指定以 new_text 替换第几次出现的 old_text。如果指定了 instance_num,则只有满足要求的 old_text 被替换;否则将用 new_text 替换 Text 中出现的所有 old_text

 

REPT(text,number_times) Text需要重复显示的文本。Number_times是指定文本重复次数的正数。

 

DOLLAR RMB(number,decimals)    将数值转化为货币形式的数值(美元或人民币)

 

TEXT(value,format_text)

 

TRIM(text)  删除空格

 

VALUE(text)   将代表数字的文本字符串转换成数字,Text 为带引号的文本,或对需要进行文本转换的单元格的引用。

 

筛选公式里的IF语句,如果A1=花,草,树,则B1=植物。如果A1=牛,马,羊,则B1=动物。

B1=IF(OR(A1="",A1="",A1=""),"植物",IF(OR(A1="",A1="",A1=""),"动物",))

=IF(OR(A1={"","",""}),"植物",IF(OR(A1={"","",""}),"动物"))

 

IF(B=1,IF(C>15,4.5*15+9*(C-15),4.5*C),IF(C>15,4.2*15+8.4*(C-15),4.2*C))

=IF(A1>8,9,IF(A1>7,8,IF(A1>6,7,IF(A1>5,6,IF(A1>4,5,IF(A1>3,4,IF(A1>2,3,IF(A1>1,2,1))))))))
=CHOOSE(FIND("1",(A1>9)*1&(A1>8)*1&(A1>7)*1&(A1>6)*1&(A1>5)*1&(A1>4)*1&(A1>3)*1&(A1>2)*1&(A1>1)*1&(A1>0)*1),10,9,8,7,6,5,4,3,2,1)
=CHOOSE(FIND("1",--(A1>9)&--(A1>8)&--(A1>7)&--(A1>6)&--(A1>5)&--(A1>4)&--(A1>3)&--(A1>2)&--(A1>1)&--(A1>0)*1),10,9,8,7,6,5,4,3,2,1)
=CHOOSE(FIND("2",(A1>9)*2&(A1>8)*2&(A1>7)*2&(A1>6)*2&(A1>5)*2&(A1>4)*2&(A1>3)*2&(A1>2)*2&(A1>1)*2&(A1>0)*2),10,9,8,7,6,5,4,3,2,1)

个人所得税公式(共涉及9个税率)
=CHOOSE(FIND("1",(A1>100000)*1&(A1>80000)*1&(A1>60000)*1&(A1>40000)*1&(A1>20000)*1&(A1>5000)*1&(A1>2000)*1&(A1>500)*1&(A1<=500)*1),A1*0.45-15375,A1*0.4-10375,A1*0.35-6375,A1*0.3-3375,A1*0.25-1375,A1*0.2-375,A1*0.15-125,A1*0.1-25,A1*0.05)

=CHOOSE(FIND("1",((A1-2000)>100000)*1&((A1-2000)>80000)*1&((A1-2000)>60000)*1&((A1-2000)>40000)*1&((A1-2000)>20000)*1&((A1-2000)>5000)*1&((A1-2000)>2000)*1&((A1-2000)>500)*1&((A1-2000)<=500)*1),(A1-2000)*0.45-15375,(A1-2000)*0.4-10375,(A1-2000)*0.35-6375,(A1-2000)*0.3-3375,(A1-2000)*0.25-1375,(A1-2000)*0.2-375,(A1-2000)*0.15-125,(A1-2000)*0.1-25,(A1-2000)*0.05)

=HLOOKUP(A1,{条件1,条件2……条件N;结果1,结果2……结果N},2,1)
说明:这一方法的条件数量不爱限制。

=HLOOKUP(3,{1,2,3,4,5,6,7,8,9,10;"A","B","C","D","E","F","G","H","I","J"},2,1)
从序列1-10找寻3,返回C
=HLOOKUP(3,{1,2,3,4,5,6,7,8,9,10;10,9,8,7,6,5,4,3,2,1},2,1)
从序列1-10找寻3,返回8

 

 

大家知道,我们在编辑Excel工作表时,除了可以用其内置的函数处理表中的数据外,还可以根据自己的实际需要,自定义函数来处理表中的数据。

  如图1所示是一个学生基本情况登记表,学号的编制原则是:前4位是年份,第5位是初、高中代码(1是初中,2是高中),第6位是年级代码(1分别代表初、高一等),第78位是班级代码,后面是序号。下面,我们以一个具体的实例,自定义一个函数,根据学号来自动填写班级名称(即图中的D列内容)

  1.启动Excel 2003(其它版本请仿照操作),打开相应的工作表。

  2.执行工具→Visual Basic编辑器命令(或者直接按“Alt+F11”组合键),进入Visual Basic编辑状态(如图1)

  

  图1编辑器

  3.执行插入模块命令,插入一个新模块。再双击插入的模块,进入模块代码编辑状态。

  4.将下列代码输入其中:

  Function bj(xh)
  Select Case Mid(xh, 5, 1)
  Case 1
  bj = "" && Mid(xh, 6, 3) && ""
  Case 2
  bj = "" && Mid(xh, 6, 3) && ""
  End Select
  End Function

  [友情提醒]

  上述代码中,“bj”是函数命令,“xh”是变量名称,二者均可以随意修改。

  自定义函数结构是(如果有多个变量,请用英文状态下的逗号分隔)

  Function函数名称(变量名称)

  代码

  End Function

  使用下面的代码,可以达到同样的效果:

  Function bj(xh)
  If Mid(xh, 5, 1) = 1 Then
  bj = "" && Mid(xh, 6, 3) && ""
  Else
  bj = "" && Mid(xh, 6, 3) && ""
  End If
  End Function

  5.代码输入完成后,关闭Visual Basic编辑窗口,返回Excel编辑状态。

  6.选中D2单元格,输入公式:=BJ(A2),再用填充柄将上述公式复制到D列下面的单元格区域中,班级名称即可自动填入相应的单元格中  

EXCELMID函数的运用

基本格式:MID(单元格,开始位置,要几位)

应用在从大字段中提取某几个数字。。比如从身份证中提取出生年月。

例如:身份证号码在A1单元格:370285781223591

具体应用为:

B1单元格中输入:=MID(A1,7,6)

说明:A1,数据所在单元格

7
,出生年月的起始位置


6
,我们需要6位到出生年月结束。


如果一些数据要排序,要按哪几位排序就可以提取出来,如学籍号。

 

 

 

 

关于Excel函数MID的用法??

请各位帮帮忙
实在不明白为什么要用这个函数
以及当中用这个公式的的含义是什么?
A1:
数量10单价200
A
2:数量150单价18
A
3:数量187单价2000

要求在B列计算出金额

A=MID(A1,3,FIND("
",A1)-3)*RIGHT(A1,LEN(A1)-FIND("",A1))
=MID(A2,3,FIND("
",A2)-3)*RIGHT(A2,LEN(A2)-FIND("",A2))
=MID(A3,3,FIND("
",A3)-3)*RIGHT(A3,LEN(A3)-FIND("",A3))

 

数量10单价200
目的是要找出10200,并相乘就是要的结果。
MID(A1,3,FIND("
",A1)-3)*RIGHT(A1,LEN(A1)-FIND("",A1))

分两步进行:
1.
找出数量
MID(A1,3,FIND("
",A1)-3)
MID提取函数,在A1单元格中从第3位开始,提取的长度用FIND计算,FIND("",A1)意思是查找""在第几位,-3 是减去(数量和单)3个字符,结果是5-3就得到了剩下两位就是数量10

2.
找出单价
RIGHT(A1,LEN(A1)-FIND("
",A1)
RIGHT
是从后提取的函数,根据数据的特征,单价都是在单元格最后几位,
LEN(A1)
是计算A1单元格有多少字符,FIND("",A1) 是查找""在第几位,LEN(A1)-FIND("",A1) 得到的就是最后的单价200

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel函数之文本函数四
怎么在excel中输入身份证号码,如何利用函数提取出生年月?
Excel应用技巧之杂锦Excel
Excel函数应用实例:自动录入性别 - Excel教程,办公软件 - 麦客学吧 | 麦客...
提取数字、字母、汉字如此简单
LEFT、MID和RIGHT三大Excel字符串截取函数应用实例
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服