Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2120|回复: 6

[已解决]【求助】求:位置内转换为大于4的数字的宏

[复制链接]
发表于 2009-11-2 19:21 | 显示全部楼层 |阅读模式

在A1单元格有数字还在是文本型的数据(是0到9组成的)

想求一个宏,能在单元格中输入=BB(A1),则自动把所有位置的数字小于5的数字转换为加上5的数字。

即:162  变为667(第1位小于5,所以其加5则第1位为6,第二位大于4,所以仍然为原来的数字6,第三位小于5,所以其加5为7,所以第三位为7)

如果A1=0546,则在B1中输入=BB(A1),显示的结果为 5596

需要变换的数字是0,1,2,3,4,对应变换为5,6,7,8,9

感谢老师赐教

最佳答案
2009-11-2 19:34
kqz6hCAx.rar (6.28 KB, 下载次数: 2)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2009-11-2 19:34 | 显示全部楼层    本楼为最佳答案   

kqz6hCAx.rar (6.28 KB, 下载次数: 2)
回复

使用道具 举报

发表于 2009-11-2 19:34 | 显示全部楼层

=SUM(TEXT(MID(A1,ROW(A1:A10),1),"[<5]5;!0;!0;!0")*10^(LEN(A1)-ROW(A1:A10)))+A1
数组公式
回复

使用道具 举报

发表于 2009-11-2 19:37 | 显示全部楼层

看错题目了。。用狐狸的吧。

[此贴子已经被作者于2009-11-2 19:39:20编辑过]

LGD4eYQB.rar

6.32 KB, 下载次数: 1

【求助】求:位置内转换为大于4的数字的宏

回复

使用道具 举报

发表于 2009-11-2 19:45 | 显示全部楼层

windvchina可以把公式转化为 一句话代码吗?
回复

使用道具 举报

 楼主| 发表于 2009-11-2 20:07 | 显示全部楼层

感谢各老师赐教。

回复

使用道具 举报

 楼主| 发表于 2009-11-2 20:08 | 显示全部楼层

QUOTE:
以下是引用lotte在2009-11-2 19:45:00的发言:
windvchina可以把公式转化为 一句话代码吗?

想的就是答案。

雪狐的代码如下:

Function BB(rng As Range)
Dim i%, arr()
ReDim arr(1 To Len(rng.Value))
For i = 1 To UBound(arr)
    If Mid(rng.Value, i, 1) < 5 Then
        arr(i) = Mid(rng.Value, i, 1) + 5
    Else
        arr(i) = Mid(rng.Value, i, 1)
    End If
Next
BB = Join(arr, "") & ""
End Function

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-14 19:20 , Processed in 0.216013 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表