我該如何提取這些數字?

我該如何提取這些數字?

我有一個 000000xx 或 00000yyy 形式的數字列表。有幾千個這樣的。我希望提取 xx 或 yyy,但正確需要提取字元數。有一個更好的方法嗎?

答案1

如果您的資料採用以下形式:

1234432566ABC
或者
765257754322XY

那麼最後三個字符的形式為:

ABC
或者
2XY

我們可以透過查看三個字元的第一個字元是否是數字來確定是否應該提取 2 個或 3 個字元:

=IF(ISERROR(--(LEFT(RIGHT(A1,3),1))),RIGHT(A1,3),RIGHT(A1,2))

在此輸入影像描述

筆記:

關鍵技巧是:

  1. 隔離第三個字符從右邊
  2. 能夠測試它是否是數位

答案2

=REPLACE(A1,1,SUM(--ISNUMBER(-LEFT(A1,ROW($A$1:INDEX($A:$A,LEN(A1)))))),"")
  • -ISNUMBER(…1為字串中的每個數字字元傳回 a 。
  • SUM(…然後將它們相加以返回字串開頭的數字計數。
  • 然後我們REPLACE將前導SUM字元設定為空字串。

在此輸入影像描述

答案3

這應該拉xx或者yyy只要整個內容的長度少於 99 個字符,就從右端開始。

=RIGHT(A2, LEN(A2)-AGGREGATE(14, 7, ROW($1:$99)/ISNUMBER(--MID(A2, ROW($1:$99), 1)), 1))
'alternate
=REPLACE(A2, 1, AGGREGATE(14, 7, ROW($1:$99)/ISNUMBER(--MID(A2, ROW($1:$99), 1)), 1), "")

如果改變兩者,計算效率可以提高99為要剝離的最大位數。

答案4

A1: 1234432566ABC

A2: 765257754322XY

B1,抄下來:

=RIGHT(A1,ISERR(-LEFT(RIGHT(A1,3)))+2)

然後,

B1返回 :ABC

B2返回 :XY

相關內容