
在 A 列中,我有一些數字,由於前導零而被格式化為文字:
+-------------+
| A |
+-------------+
| 01011111001 |
| 01011111002 |
| 01011111003 |
| 01011111012 |
| 01011111013 |
+------+------+
使用 A 列作為輸入,我想填入另外兩列 B 和 C,如下所示:
+-------------+--------------+
| B | C |
+-------------+--------------+
| 01011111001 | 010111111003 |
| 01011111012 | 010111111013 |
| 01011111115 | |
| 01011111117 | |
| 01011111019 | 0101111111020|
+------+------+--------------+
當存在數字序列(如範圍)時,我希望在 B 列中包含起始數字,在 C 列中包含結束數字。
但是,如果它是單一數字,則可以保留在 B 列本身中。
我有 10000 個具有範圍的數字,並且單個數字想要以上面的方式分隔
在 Excel 中如何實現這一點?
答案1
使用擴展樣本數據
01011111002
01011111003
01011111004
01011111005
01011111006
01011111008
01011111009
01011111011
01011111012
01011111013
01011111014
01011111015
01011111016
01011111017
01011111018
01011111020
01011111023
01011111026
01011111027
01011111028
01011111031
01011111032
01011111033
01011111034
假設它是一個排序列表,以下是可以提供幫助的步驟:
1)定義一個名稱pool
,其中包含資料範圍+一個儲存格,該儲存格為空。
2) 定義一個 name ,計算asnn
的大小pool
=ROWS(pool)
3)定義一個名稱newrange
為公式:
=MOD((-1+(N(OFFSET(pool,1,,nn-1)-OFFSET(pool,,,nn-1)<>1)*ROW(OFFSET(pool,,,nn-1)))),nn)+1
pool
4) 選擇in 列旁邊的範圍B
並輸入數組公式(按Ctrl+ Shift+Enter而不是僅按Enter):
=newrange
0
在最後一個儲存格下方輸入並選擇:
5) 接下來,複製此選擇,貼上為值併升序排序:
6)輸入C1
:
=IF(OFFSET($A$1,B1,)>0,OFFSET($A$1,B1,),"")
7) 輸入D1
:
=IF(OFFSET($A$1,B2-1,)=C1,"",OFFSET($A$1,B2-1,))
8)選擇C1:D1
並向下拖曳/複製,直到列中出現空白儲存格C
: