Board logo

標題: [發問] Excel 函數擷取字串問題 [打印本頁]

作者: mash071896    時間: 2020-4-14 09:11     標題: Excel 函數擷取字串問題

[attach]31915[/attach]
各位大大好,我想讓出勤天數裡面每個數字,對應到右方的欄位,
例如:出勤天數 16休5公1病11.5,就是16天工作天、特休11.1、公假1天、病假11.5天
目前我的想法是用函數 =mid("休",1,1)
不過天數有3種情況1位數、2位數、3位數,
請各位Excel 大大解惑,謝謝。
作者: hcm19522    時間: 2020-4-14 12:45

https://blog.xuite.net/hcm19522/twblog/589048138
作者: mash071896    時間: 2020-4-14 14:47

回復 2# hcm19522
感謝大大! 經測試可以使用!
另外,IFERROR(-LOOKUP(9,-MID($B2,FIND(RIGHT(C$1),"天"&$B2),{1,2,3,4})),"")
我對這函數有稍微分析認識,如有錯誤解釋還煩請大大幫忙更正。
RIGHT(C$1) →這個是以標題列,幫助find搜尋休、病、喪的字串位置
FIND(RIGHT(C$1),"天"&$B2)   →搜尋位置 EX. 6休5公1病11.5, 休的話是2
-MID($B2,FIND(RIGHT(C$1),"天"&$B2),{1,2,3,4})
→用MID列出字串並列出4組的陣列,6休5公1病11.5,休的話是,{休、休5、休5公、休5公1}?
這應該是要字串轉換數值的,這地方比較不懂,還請大大幫忙解答。
作者: hcm19522    時間: 2020-4-14 15:37

本帖最後由 hcm19522 於 2020-4-14 15:38 編輯

回復 3# mash071896


    用MID列出字串並列出4組的陣列,6休5公1病11.5,休的話是,{5,5公,5公1,5公1病}+ "-"-->{-5,錯,錯,錯}-->取-5-->最前 + "-"-->5
作者: mash071896    時間: 2020-4-14 16:12

回復 4# hcm19522
感謝解答!!
另外還想再問最後一個公式問題,
依照-MID函數會傳的陣列,以休11.5為例
用lookup查找,
-lookup(9,{-1,-11,-11.,-11.5}),
-是使其結果轉正值,
不過lookup查找不是找等於9或小於的近似值,
這樣應該是-1,我有用EXCEL跑這段,結果是-11.5,
想請大大幫我釐清這觀念,!
作者: hcm19522    時間: 2020-4-15 10:11

回復 5# mash071896


    大括號裡要升幂 ,若無且前面值 >大括號裡值 ,則取最後值
作者: mash071896    時間: 2020-4-15 13:38

回復 6# hcm19522
感謝大大解答!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)