欢迎光临
我们一直在努力

excel使用技巧

第一条

查找指定单元格 相似数据,并显示结果

=IF(ISNUMBER(FIND(“机械设备”,N2)),”OK”, “Not OK”)

意思是:查找N2单元格中是否包含机械设备这个数据,包含就显示OK,反之 NOT OK

 

第二条

根据地址匹配省市县区

因代码较多,直接使用excel案例,下面是下载地址

匹配省市县区下载地址

 

第三条

个人所得税计算公式

 

第四条

根据百分比进行进度条显示

特别提示。要有一个参照单元格数据,如下图,我是用的100%做为参考,读者自己使用的时候,需要将你的参考单元格也一起选中

比如我设置G4 为进度条显示,那么必须选中E4 (以下图为例) 再去选择条件格式-数据条-填充

 

 

第五条

如何实现下拉菜单选择 和根据下拉菜单选择自动带入其他单元格数据

效果图

下拉框效果 实现方法

数据—数据有效性–数据有效性—-设置(有效性条件设置为  序列。选择一下来源   来源哪些单元格

根据选中下拉框数据自动带入其他数据 实现方法

首先做一个对应表数据

01010001 3DA80型轮胎(黑色) 3D40S3.00-10·80
01010002 3DA80型轮胎(红色) 3D40Ss3.00-10·80

然后 在你要带入的单元格打入一下代码

=IFERROR(INDEX(基础数据!A:A,MATCH(B6,基础数据!B:B,)),””)

代码解析:

基础数据!A:A  这是你要带入数据查找的位置      这个就是你要对应的数据

B6 代表你当前单元格的数据

基础数据!B:B 代表你在被查找表里的当前单元格所在的位置

 

匹配手机号码(所有)

vba代码

Function phonenum(arr As String) As String
num = “3031323334353637383945474849505152535455565758596671727375767778798081828384858687888998”
For i = 1 To Len(arr) – Len(Replace(arr, “,”, “”))
For j = 1 To 100 Step 2
If Mid(Val(arr), 1, 3) = “1” & Mid(num, j, 2) Then
phonenum = phonenum & IIf(phonenum = “”, “”, “,”) & Val(arr)
Exit For
End If
Next
arr = Trim(Mid(arr, InStr(arr, “,”) + 1, 999))
Next
End Function

 

使用方法   直接在单元格 打入    =phonenum(A1)

A1代表需要获取的电话号码单元格

代码解析

For i = 1 To Len(arr) – Len(Replace(arr, “,”, “”))

这一条是说有什么 分隔符号来分隔。这里是逗号

num = “30313233343536373839605658”解释

由于手机段第一个数字全是1, 故简略,

130, 131, 132….

变成 303132…..

For j循环 后 Step 2

表示 循环步长为2

即 j=1,3,5,7,9

代码中用来判断主要是If Mid(Val(arr), 1, 3) = “1” & Mid(num, j, 2) Then

如日后有新手机段 如 178, 179,

将 7879加在num值之后, 及 For j=1 to 25 改成 j = 1 to 29(或更大的数字) 便可

移动号段:
134 135 136 137 138 139 147 150 151 152 157 158 159 172 178 182 183 184 187 188 198
联通号段:
130 131 132 145 155 156 166 171 175 176 185 186
电信号段:
133 149 153 173 177 180 181 189 199
虚拟运营商:
170

 

提取手机号码方法2(推荐使用,博主亲测)

Function CellNum$(str) ‘自定义函数:手机号码提取
Set reg = CreateObject(“vbscript.regexp”)
reg.Global = True
reg.Pattern = “(?:^|\D+)(1(3\d|4[57]|5[0-35-9]|7[0136-8]|8\d)\d{8})(?=(\D+|$))” ‘精确验证:位数不符、号段不符(按2017年12月手机号段)
Set mas = reg.Execute(str)
For j = 1 To mas.Count
CellNum = CellNum & “;” & mas(j – 1).submatches(0)
Next
CellNum = Mid(CellNum, 2)
End Function

 

赞(0)
未经允许不得转载:老徐小屋老徐小屋 » excel使用技巧
分享到: 更多 (0)