在 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)定义一个名称,计算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)选择列旁边的范围B
并输入数组公式(按++Ctrl而不是只按):ShiftEnterEnter
=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
: