找到不在给定列表中的最小非负整数

时间:2014-02-08 03:50:38

标签: excel

我正在尝试在Excel中编写一个程序,该程序找到不在给定列表中的最小非负整数并将其放入单元格中。该列表仅包含非负整数。如果列表中的值使用一系列if语句很容易上限,我可以这样做,但列表可以(并且将)包含任意大的值。我很擅长使用Excel,所以如果你能提供一个我可以简单地放入单元格的公式(如果可能的话,没有宏),我将非常感激。提前感谢您提供有关此主题的任何帮助。

示例:

  • 列表= {0,1,2,3,4},输出= 5
  • 列表= {0,1,2,4,7},输出= 3
  • 列表= {1,2,3,4,7},输出= 0

2 个答案:

答案 0 :(得分:1)

根据您编辑的问题,假设您将在0到99范围内至少缺少一个整数,请尝试使用此公式,其中List位于A1:A5

=SMALL(IF(COUNTIF(A1:A5,ROW(INDIRECT("1:100"))-1)=0,ROW(INDIRECT("1:100"))-1),1)

使用 CTRL + SHIFT + ENTER确认

此版本也会在没有“数组输入”的情况下为您提供相同的结果

=LOOKUP(2,1/(COUNTIF(A1:A5,100-ROW(INDIRECT("1:100")))=0),100-ROW(INDIRECT("1:100")))

请参阅下面的示例,其中显示了每个示例列表的结果:

enter image description here

答案 1 :(得分:-1)

MIN(A:A)将获得A列中最小的数字 - 只需减去1(或任何数字)以获得小于任何数字的数字(或使用MAX获得最大数字)。根据数据的位置,根据需要更新公式。如果结果必须是整数,则只需ROUNDDOWN