【问题标题】:Skipping certain numbers in a sequence跳过序列中的某些数字
【发布时间】:2015-11-05 16:00:44
【问题描述】:

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

如果我给我的序列一个起始编号 150,我希望我的序列号分配如下:

序列跳过数字156231

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

我怎样才能做到这一点?

【问题讨论】:

  • 您真的希望将“SEQ”文本作为输出数字的一部分吗?
  • @ExcelHero - 是的,但不是必须的。既然这是字面意思,我可以在我得到跳过保留号码的号码后添加它。

标签: excel excel-formula excel-2010 sequence skip


【解决方案1】:

在单元格 M2 中输入以下公式:

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

然后向下复制。

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

rsv 是保留号码列表。

.

更新

这是另一个克服顺序保留数字问题的公式:

=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+Shift+Enter确认。

【讨论】:

  • 它有一个小问题 - 如果保留的数字不是连续的,它可以正常工作。如果它们是连续的,它会正确处理第一个(并跳过它),但第二个使用保留的数字之一。
  • 啊,我明白了。这使事情复杂化了很多。最大顺序是多少?
  • 连续数字的数量自始至终各不相同,但乍一看,我没有看到超过 8-10 个是连续的。
  • 我相信数组公式可以解决问题。我已经举了几个例子,它们都奏效了!非常感谢您的帮助!! :)
  • 一件事。将公式中 20 的出现次数更改为更高的数字,例如 999。我现在正在进行编辑。
【解决方案2】:

假设您跳过的数字本身不是连续的,则此公式将起作用:

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

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

【讨论】:

  • 它是一种混合物。我想保留的一些序列中有几十个序列号。在其他情况下,它们不是连续的。
猜你喜欢
  • 1970-01-01
  • 2016-12-07
  • 1970-01-01
  • 1970-01-01
  • 2013-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多