跳过序列中的某些数字

Skipping certain numbers in a sequence

在 Excel 2010 年,我有一个我想保留的以前使用过的序列号列表,我需要创建一个以我提供的数字开头的公式,但绕过我保留列表中的那些。序列号和保留列表号都可以是几千个条目。我保留的序号是:

如果我给序列的起始编号是 150,我希望按如下方式分配序列号:

其中序列跳过数字 156231

我看到了一种创建自定义列表的方法,但这恰恰相反。

我怎样才能做到这一点?

假设您跳过的数字本身不是连续的,则此公式有效:

=IF(COUNTIF(H2:H4,K2+1)>0,K2+2,K2+1)

这假设您的起始编号在 K2 中,并且您要避免的范围是 H2:H4。

在单元格 M2 中输入此公式:

=MAX(start,M1)+1+(IFERROR(MATCH(MAX(start,M1)+1,rsv,),0)>0)

并向下复制

start 是具有起始编号的单元格(在您的示例中为 K2)。

rsv为预留号码列表

.

更新

这是另一个解决连续保留数字问题的公式:

=INDEX(ROW(OFFSET($A,start-1,,999)),MATCH(1,ISERROR(MATCH(ROW(OFFSET($A,start-1,,999)),rsv,))*(ROW(OFFSET($A,start-1,,999))>MAX(M1,start)),))

This is an array formula and must be confirmed with Ctrl+Shift+Enter.