tft每日頭條

 > 科技

 > excel單元格提取想要的字符

excel單元格提取想要的字符

科技 更新时间:2025-01-03 05:38:08

之前曾經教過大家怎麼從單元格中取部分字段,需求簡單的可以用 left, mid, RIGHT 函數,詳情可以看 Excel 實用 tips(二) – 分分合合數據列。

如果需要有條件地提取,怎麼操作?

案例:

比如下表,A 列是某國際學校大中華區的學号,前面的英文字母是所在的地區的縮寫。

現在需要按地區把學号提取到 B、C、D 列中,不用再顯示字母縮寫,怎麼做?

這就需要用到 FIND 和 right 函數配合使用。

excel單元格提取想要的字符(如何按設定條件提取單元格内的字符串)1

excel單元格提取想要的字符(如何按設定條件提取單元格内的字符串)2

本案例其實涉及兩個知識點:

  1. 怎麼從第 4 個字符串開始提?
  2. 怎麼按規定條件提?

1. 怎麼從第 4 個字符串開始提?

解決方法:

基礎的 right 函數是從右往左提 n 位,要實現這次的需求,有兩個辦法:

1) =MID(A2,4,99)

2) =RIGHT(A2,LEN(A2)-3)

我來翻譯一下:

  • =MID(A2,4,99):從中間第 4 位開始取,取 99 位
  • * 注:因為學号一般不會超過 99 位數,所以設置 99 可以保證長度足夠,不會漏提取
  • =RIGHT(A2,LEN(A2)-3):用 LEN 函數計算 A2 單元格的字符串總長度,把這個長度減去 3,即從右往左提到倒數第 4 位

這次我們用第 2 種方法提取,得到下面的結果,第一個業務需求已經實現了。現在我們再來解決第二個業務需求。

excel單元格提取想要的字符(如何按設定條件提取單元格内的字符串)3

2. 怎麼按規定條件提?

也就是說在“中國學号”這一列,隻提取“CN_”開頭的單元格,怎麼實現?

解決方法:

公式:=IF(FIND("CN_",LEFT(A2,3)),RIGHT(A2,LEN(A2)-3))

翻譯一下:FIND("CN_",LEFT(A2,3)) 是增加的函數,也就是說,在提取之前,先去做以下運算:

  • 取 A2 單元格的前三位:left 函數
  • 判斷這三位是否等于 “CN_”:find 函數
  • 如果滿足上述條件,則從第 4 位開始取值

* 請注意:find 函數區分大小寫,如果不需要區分大小寫,可以用 search 函數

3. 在 C 和 D 列把公式中的 “CN_”分别替換成“TW_”和“ HK _”,就已經實現本案例需求了。

但是,很醜陋對不對?

不想顯示錯誤提示怎麼操作?

excel單元格提取想要的字符(如何按設定條件提取單元格内的字符串)4

解決方法:

公式:=IF(ISERROR(FIND("CN_",LEFT(A2,3))),"",RIGHT(A2,LEN(A2)-3))

翻譯一下:ISERROR(FIND("CN_",LEFT(A2,3))),"" 部分是調整部分,增加了以下判斷邏輯

  • 用 iserror 函數把 find 函數包起來:如果查 “CN_” 開頭的值返回錯誤的話,
  • 則顯示空:””

調整完以後就得到了我們想要的結果。

excel單元格提取想要的字符(如何按設定條件提取單元格内的字符串)2

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved