VLOOKUP,如果存在则使用其他值

VLOOKUP,如果存在则使用其他值

抱歉,我不太擅长使用 Excel,但我想实现的是位于 Sheet1 单元格 R7 中的这个 vlookup:

=VLOOKUP(F2,config!F2:H20,3,FALSE)

显示房间号,例如1

但是,如果房间已经存在于该列中,我希望它在 VLOOKUP 中找到该列中尚不存在的另一个值。

我使用以下方法检查它是否存在于列中(位于 Sheet1 单元格 R8 中):

=COUNTIF(E2:E20,R7)>0

因此,如果此查询为 FALSE,那么可以使用上面的 VLOOKUP,但如果它返回 TRUE,它应该继续搜索,直到找到 FALSE。

工作表1:

在此处输入图片描述

配置表:

在此处输入图片描述

希望这是有意义的

答案1

所以这个想法似乎是你想要一个尚未预订的房间列表。从中你可以按照一些有用的标准选择一个。

我会采取与你尝试的方法不同的方法。我会:

  1. 在某处创建一个所有可用房间的列表。可能是简单的 1-100,也可能更复杂。在辅助表的表格中创建它,您可以将其隐藏或不隐藏。将其创建为命名范围,这样既方便又不被用户看到,也容易“弄乱”。

  2. 拿起它并删除已提交列中的房间(Sheet1 上的“房间”)。

  3. 选择一种方法来决定提交剩余的哪个房间。

接下来,我在 C1:C12 中创建了 1-12 号房间的列表。已提交的房间列表位于 A1:A4 中。您可以根据需要更改这些范围:使用您创建的所有房间的列表和 Sheet1 上的“房间”列。然后,我将“存在”列表上的每个房间与“已提交”列表中的房间进行比较。

最内层是IF()进行比较。它""的结果为 TRUE(已提交)房间。我给出了 FALSE 的结果,但事实上,这并不重要,如果一年后您想要更新电子表格时缺少的参数不会让人感到困惑,则可以省略。很多人会觉得这很令人困惑,所以我把它放进去了。但有些人会觉得这很令人困惑,所以“随心所欲地调味”。

之所以不重要,是因为测试将对尚未提交的房间产生错误并停止,永远不会得到 FALSE 结果。您实际上想要所有产生错误的房间。因此,我将其包装起来以IFERROR()捕获它们并为其提供一些有用的结果:无论正在测试什么值。因此,所有这些都会给您一堆空白和一堆未提交的房间。

我过去常常UNIQUE()将空白的数量减少到 1。所以现在你有一份未预订房间的列表和一个空白。如果你没有UNIQUE()(这个问题是 2019 年的,发帖人可能有也可能没有,但任何拥有早期版本的人都不会有),你可以执行以下步骤,只是略有不同。

接下来,我SORT()使用 -ed 命令对结果进行排序。如果这无关紧要,则不需要这样做,如果您的“存在”房间列表从一开始就是按顺序排列的,则不需要这样做。但它确实将空白放在最后。如果您SORT()因为没有该功能而无法这样做,则空白将放在第一位。将它放在最后让我可以选择第一个“除一个房间外的所有房间”,INDEX()这样空白就消失了。这比选择最后一个“除一个房间外的所有房间”来删除它更容易。更容易理解。这并不是特别难做到,但更复杂,因此一年后更难跟进。

如果您无法将空白减少到 1,那么不要像COUNTA()我一样对结果进行计算并从中减去 1,而是COUNTA()对结果进行计算并从中减去COUNTA()“已提交”的房间数。

由于我只希望将单列输入作为单列结果,因此INDEX()有时在 中对列参数使用“1”并不是绝对必要的。如果像我在这里所做的那样使用 的形式ROW(1:xxx)(因为……2019 年等等),则不需要。但如果您今天这样做并使用了 nice 函数SEQUENCE(),那么肯定会需要它。无论出于何种原因,如果将其用作 中的值INDEX(),通常必须指定另一个值,无论这是否有意义。

所以无论如何,您现在有一个有序的(无论如何)尚未“承诺”的房间列表。您可以使用行和列选择另一个INDEX()包裹在其上的列表,或者使用“1”和一个公式来计算剩余的未“承诺”的房间。也许只是选择编号最小的未“承诺”房间。或者……好吧,你明白了。有很多方法。如果随机化房间使用很重要,则使用某种适当的方式进行随机化,或者如果不重要,则采取简单的方法。无论哪种想法对您来说都是最好的。您甚至可以在“存在”房间的列表中以某种非连续的方式对它们进行排序。有很多方法可以做到这一点。,1,1RANDBETWEEN()MIN()RANDBETWEEN()MIN()

答案2

你可以尝试这个:

在此处输入图片描述

单元格 J2 中的公式:

=IF(AND(F2="是",I2="是"),"",IF(F2="是",INDEX(H2:H11,MATCH("否",I2:I11,0)),""))

注意:

  • 为了更好地理解,我在第一列中添加了值,您可以根据需要修改它们。
  • 根据需要调整公式中的单元格引用。

相关内容