作者JieJuen (David)
看板Office
标题Re: [算表] 如何用EXCEL公式函数挑字
时间Sun Nov 25 22:14:26 2007
用VBA弹性大了些
用函数也勉强可以做到(取代数字)
常规解法
定义名称X
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(
SUBSTITUTE(SUBSTITUTE(A1,1,),2,),3,),4,),5,),6,),7,),8,)
——123字符
再用公式=SUBSTITUTE(SUBSTITUTE(x,9,),0,)
利用宏表函数简化Substitute替换数字的嵌套
利用文本函数REPT+Text重复名称X中的公式,再用宏表函数Evaluate转换公式,可简化为
X
=EVALUATE(REPT("SUBSTITUTE(",8)&"A"&ROW()&TEXT(12345678,REPT("\,0\,)",8)))
——74个字符
其中:"A"&ROW(),返回A列同行的「引用」。
TEXT(12345678,REPT("\,0\,\)",8)))——将数字12345678返回成字符串「
,1,),2,),3,),4,),5,),6,),7,),8,)」
http://blog.excelhome.net/user1/gouweicao78/archives/2007/980.html
※ 引述《Catbert (I am Leo)》之铭言:
: ※ 引述《znlin (帅猫)》之铭言:
: : 软体:excel
: : 版本:2002
: : 原始资料 想要结果
: : 1254MCL23 MCL
: : 21HM26698 HM
: : 请教各位大大该如何撰写以一个EXCEL公式函数来达到上面想要的结果?
: : 或是写巨集?.....但是没写过,不知道该怎麽作
: 请在Excel的Visual Basic编辑器中贴上下面程式码,就可以使用自订函数噜
: Public Function MidText(InString As String)
: Dim i As Integer
: Dim outString As String
: outString = ""
: For i = 1 To Len(InString)
: If IsNumeric(Mid(InString, i, 1)) <> True Then
: outString = outString & Mid(InString, i, 1)
: End If
: Next
: MidText = outString
: End Function
: ----
: 备注:
: 把上面<> 改成 =
: 就可以找出一串文字中的数字噜XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.123.32.183