在Excel 2010中,我有一個以前使用過的序列號列表,我想要保留該序列號,並且需要創建一個公式,該公式將以我提供的一個數字開頭,但繞過我保留列表中的那些。序列號和保留列表號碼都可以是數千條記錄。我保留的序列號是:在某個序列中跳過某些數字
如果我給我的序列150開始編號,我希望按如下方式分配我的序列號:
其中序列跳過數字156
和231
。
我已經看到了一種創建自定義列表的方式,但這恰恰相反。
我該如何做到這一點?
在Excel 2010中,我有一個以前使用過的序列號列表,我想要保留該序列號,並且需要創建一個公式,該公式將以我提供的一個數字開頭,但繞過我保留列表中的那些。序列號和保留列表號碼都可以是數千條記錄。我保留的序列號是:在某個序列中跳過某些數字
如果我給我的序列150開始編號,我希望按如下方式分配我的序列號:
其中序列跳過數字156
和231
。
我已經看到了一種創建自定義列表的方式,但這恰恰相反。
我該如何做到這一點?
在單元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鍵 + 移位來確認+ 輸入。
它有一個小問題 - 它工作正常,如果保留的數字不是順序的。如果它們是連續的,它會執行第一個操作(並跳過它),但第二個操作使用其中一個保留的數字。 –
啊,我明白了。這很複雜。什麼是最大順序? –
連續數字的數量在不斷變化,但乍一看,我沒有看到任何超過8-10的連續數字。 –
假設你跳過的數字本身並不是連續的,這個公式將工作:
=IF(COUNTIF(H2:H4,K2+1)>0,K2+2,K2+1)
這是假設你的起始編號爲K2,而你避免範圍爲H2:H4。
它是一種混合物。我想保留的一些序列中有幾十個連續的數字。在其他情況下,它們不是順序的。 –
你真的想把「SEQ」文本作爲輸出數字的一部分嗎? –
@ExcelHero - 是的,但它不一定是。既然這是一個字面意思,我可以在我得到跳過保留字的數字之後加上它。 –