2015-11-05 115 views
0

在Excel 2010中,我有一個以前使用過的序列號列表,我想要保留該序列號,並且需要創建一個公式,該公式將以我提供的一個數字開頭,但繞過我保留列表中的那些。序列號和保留列表號碼都可以是數千條記錄。我保留的序列號是:在某個序列中跳過某些數字

Reserved Numbers

如果我給我的序列150開始編號,我希望按如下方式分配我的序列號:

Sequence numbers that skip reserved ones

其中序列跳過數字156231

我已經看到了一種創建自定義列表的方式,但這恰恰相反。

我該如何做到這一點?

+1

你真的想把「SEQ」文本作爲輸出數字的一部分嗎? –

+0

@ExcelHero - 是的,但它不一定是。既然這是一個字面意思,我可以在我得到跳過保留字的數字之後加上它。 –

回答

1

在單元M2輸入公式:

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

和向下複製。

start是起始數字(例如K2)的單元格。

rsv是保留號碼的列表。

UPDATE

這裏是另一個式克服了與連續的保留數的問題:

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

這是一個陣列式,並且必須以Ctrl鍵 + 移位來確認+ 輸入

+0

它有一個小問題 - 它工作正常,如果保留的數字不是順序的。如果它們是連續的,它會執行第一個操作(並跳過它),但第二個操作使用其中一個保留的數字。 –

+1

啊,我明白了。這很複雜。什麼是最大順序? –

+0

連續數字的數量在不斷變化,但乍一看,我沒有看到任何超過8-10的連續數字。 –

0

假設你跳過的數字本身並不是連續的,這個公式將工作:

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

這是假設你的起始編號爲K2,而你避免範圍爲H2:H4。

+0

它是一種混合物。我想保留的一些序列中有幾十個連續的數字。在其他情況下,它們不是順序的。 –