我們在工作中,經常會遇到帶單位的數據運算,比如對帶有單位的數據求和、提取不同單位中的數值,合併不同單位的數量等等。下面就通過 5 個典型的案例,一起和大家探討,如何應對處理這些帶單位的數據。
1、帶單位的數字求和
如下圖,對 C 列的金額求和。
❶ 首先用 SUBSTITUTE 函數將 C 列中的字符 "元" 替換成空字符:
=SUBSTITUTE(C3:C8"元""")
❷ 這時生成的一列數字還是文本型的,不能直接求和,需要在前面加兩個負號轉換成數值:
=--SUBSTITUTE(C3:C8"元""")
❸ 最後就可以用 SUM 函數,對轉化後的數值求和,得到最終結果:
=SUM(--SUBSTITUTE(C3:C8,"元",""))
2、提取不同單位中的數值
如下圖,從 B 列帶有不同單位的文本中,提取數值到 C 列:
❶ 首先用 ROW ($1:9) 生成一組由 1 開始遞增的序列值:
=ROW($1:9)
❷ 然後以這組序列值作為 LEFT 函數的第二個參數,由左至右逐一擴展截取當前 B 列文本中的字符,生成一列文本數組:
=LEFT(B3,ROW($1:9))
❸ 最後用 LOOKUP 函數,在這列數組中找到最後一個數值,返回結果:
3、拆分帶有多個單位的文本
如下圖,從 C 列中拆分帶有多個單位的數字到 D:F 列:
❶ 首先用 LEFT 函數從當前 C 列的文本中,提取單位前面的字符:
=LEFT($C3,FIND(D$2$C3)-1)
❷ 然後用 RIGHT 函數,由右至左逐一擴展提取字符的個數,截取字符,生成一列數組:
=RIGHT(LEFT($C3,FIND(D$2, $C3)-1)ROW($1:9))
❸ 接着用 LOOKUP 函數,在這列數組中找到最後一個數值,再填充複製公式:
=-LOOKUP( 1, -RIGHT( LEFT($C3, FIND(D$2, $C3) - 1), ROW($1:9) ))
❹ 最後用 IFNA 函數屏蔽公式中的錯誤值(#N / A)返回結果:
=IFNA( -LOOKUP( 1, -RIGHT( LEFT($C3, FIND(D$2, $C3) - 1), ROW($1:9) ) ), "")
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/191730.html