跳过序列中的某些数字

时间:2015-11-05 16:00:45

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

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

Reserved Numbers

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

Sequence numbers that skip reserved ones

序列跳过数字156231

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

我怎么能实现这个目标?

2 个答案:

答案 0 :(得分:1)

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

if __name__ == "__main__":
    for network, netmask, _, interface, address in scapy.config.conf.route.routes:

        # skip loopback network and default gw
        if network == 0 or interface == 'lo' or address == '127.0.0.1' or address == '0.0.0.0':
            continue

        if netmask <= 0 or netmask == 0xFFFFFFFF:
            continue

        net = to_CIDR_notation(network, netmask)

        if interface != scapy.config.conf.iface:
            # see http://trac.secdev.org/scapy/ticket/537
            logger.warn("skipping %s because scapy currently doesn't support arping on non-primary network interfaces", net)
            continue

        if net:
            scan_and_print_neighbors(net, interface)
            break

并向下复制。

=MAX(start,M1)+1+(IFERROR(MATCH(MAX(start,M1)+1,rsv,),0)>0) 是具有起始编号的单元格(在您的示例中为K2)。

start是保留号码列表。

<强>更新

这是另一个克服连续保留号码问题的公式:

rsv
  

这是一个数组公式,必须使用 Ctrl + Shift + Enter 确认。

答案 1 :(得分:0)

假设您跳过的数字本身并不顺序,则此公式将起作用:

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

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