日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Excel:提取

發布時間:2024/1/1 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Excel:提取 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

需求:一個單元格里有n個組(每組包含:商品名稱,數量),要把每種商品的數量提取出來放到對應的單元格

按流程先上最終效果圖:

過程:有人說要用到宏,可是我是個菜鳥,之前沒有接觸過,短時間讓我寫一個,我搞不定,所以換個思路,Excel不是有很多函數么,那就函數嵌套好了,然后把步驟分解:

1.查找商品的下標:用FIND()函數

2.根據第1步的下標截取下標之后的字符串:用RIGHT()函數,計算字符串長度的時候用到了LEN()函數

3.計算第2步拿到字符串中空格的數量,分為等于0(A3數據)和大于0(A1數據)的情況,思路:

? ? ? (LEN(B27)-LEN(SUBSTITUTE(B27," ","")))/LEN(" ")

4.判斷第3步的空格數量,如果等于0結果則為第2步結果,如果大于0則先拿到第一個空格下標

? 截取字符串(第2步拿到的結果)0到第一個空格下標得到最終結果

下面針對A2進行步驟分解~~

1.FIND(B1,A2),得到的結果是 6

2.RIGHT(A2,LEN(A2)-FIND(B$1,A2)-9),得到的結果是?81245 ?商品名稱:商品3 ?購買數量:1 ?商品名稱:商品2 ?購買數量:1

3.(LEN(B27)-LEN(SUBSTITUTE(B27," ","")))/LEN(" "),得到的結果是 8

4.找空格下標:FIND(" ",B27)(B27是上步所在的單元格),得到的結果是 6

根據第3步結果判斷:IF(B28>0,LEFT(B27,FIND(" ",B27)),B27),得到的結果是 81245

?

?

當然在過程中這樣一步一步寫太麻煩了,所以我們替換一下函數,得到最終函數

IF((LEN(RIGHT($A2,LEN($A2)-FIND(B$1,$A2)-9))-LEN(SUBSTITUTE(RIGHT($A2,LEN($A2)-FIND(B$1,$A2)-9)," ","")))/LEN(" ")>0,LEFT(RIGHT($A2,LEN($A2)-FIND(B$1,$A2)-9),FIND(" ",RIGHT($A2,LEN($A2)-FIND(B$1,$A2)-9))),RIGHT($A2,LEN($A2)-FIND(B$1,$A2)-9))

不要暈,哈哈哈~~~

在B2中寫入這個函數(前面要加上“=”),然后回車,得到一個數據,之后拖動區域得到全部,此時情況是這樣的

發現有很多#VALUE,不要慌,選中全部,然后Ctrl+G定位,選擇錯誤,

然后在任意錯誤的單元格,刪掉函數,按Ctrl+Enter,這時候發現之前的錯誤沒有了

完成。


重點標一個,計算一個字符串中某個字符出現次數的:(LEN(B27)-LEN(SUBSTITUTE(B27," ","")))/LEN(" ")

防止商品名稱前幾個字一樣,比如 商品名稱:商品1 購買數量:2 商品名稱:商品11 購買數量:3

執行完后排下序,然后對于大于1的情況單獨處理,因為當前這種情況遇到的很少,所以先更新到這里,以后用到的時候再來更新。

總結

以上是生活随笔為你收集整理的Excel:提取的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。