如何在Excel中尋找範圍

如何在Excel中尋找範圍

在 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

pool4) 選擇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

在此輸入影像描述

相關內容