舉個例子,某個單元格的內容是ABC1234,有沒有函數公式可以將這個單元格的全部字母和前兩位數字篩選出來?也就是變成ABC12?求大神指教
=LEFT(A1,LOOKUP(,0/(MID(A1,ROW(INDIRECT("1:"LEN(A1))),1)&>="a"),ROW(INDIRECT("1:"LEN(A1))))+2
我順帶提問:一個字元串,從最後面開始,如果發現有連續的數字,最後只保留最前面N個數字(注意,不論前面是否曾出現過數字;N可以指定;譬如N=2時,即題主所提的問題)。求公式。
R語言版,用正則表達式:
library(tidyverse)
df = tibble( x = c("ABC1234", "EF367", "EEGERG23") )
df
df %&>% mutate(x = str_extract(x, "[[:alpha:]]+\d{2}"))
好的公式可能會遲到了,但是不會缺席。
這是一種更簡潔的辦法。
{=LEFT(A1,1+MIN(IFERROR(SEARCH({0,1,2,3,4,5,6,7,8,9},A1),LEN(A1))))}
注意它是一個數組公式,輸入的時候不要不要手動加入{},而是輸入好公司後按shift+control+enter。
從最裡面解釋一下
問題中提到的是需要保留全部字母和前兩位數字,在powerquery中你只需要分三步就可以完成。
第一步:拆分「按照非數字到數字的轉換」,把字母和數字拆分開來。
第二步:拆分「按字元數」,把數字前兩位拆分出來。
第三步:把拆分出來的字母列和前兩位數字列給合併在一起,就OK啦
沒有人說CTRL+E嗎?這時候智能填充不是更香嗎?
要看你的內容是否規範和規矩。
如果字母,數字是固定長度,可以用分列—固定寬度功能。
※excel中十多萬條數據應如何處理?※可以通過哪些途徑學word和excel?※Excel如何篩選出重複的數據?※EXCEL 滿足一定條件求和,如圖,需要用什麼公式?※excel 將一列數據複製到 篩選過的一列上 (需要複製到相對可見的單元格) ?
TAG:MicrosoftExcel | Excel公式 | Excel使用 | Excel函數 |