Re: [算表] 如何用EXCEL公式函數挑字--VBA,宏表,取代
用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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Office 近期熱門文章
PTT數位生活區 即時熱門文章