使用INDEX查找列表中的多个值


0

我正在使用此公式在我的工作簿的第一张表中查找B列中所有CUCUMBERS实例:“ITS”我与X列中的B列相同。

到目前为止,这很有效,就像我想要的那样,除了它只返回一些CUCUMBERS,而不是全部。我使用相同的公式交换来找到D列中找到的PO#,所以我可以告诉它发回给我的是哪个CUCUMBERS,它正在跳过此搜索中的前两个。

请记住,我的数据包括其他产品,如SPINACH,KIWI,CARROTS等......所有产品都位于CUCUMBER条目的上方和下方,这就是为什么CUCUMBERS在24:30排。此公式需要能够从整列中提取数据,并返回名称的EACH实例; 因此,如果CUCUMBER有15个条目,我需要它在我的第二张纸上反映15个条目。

这里的基本目标是查找特定产品项的每个实例,并从列出该项的每一行中提取所有数据。如果有更简单的方法可以做到这一点,我也对此持开放态度。以下是以下信息:

= INDEX(ITS $ B $ 4:!$ X $ 56,SMALL(IF(ITS $ B $ 4:!B56 = $ B $ 1,ROW(ITS $ B $ 4:!B56)),ROW(ITS 3:56)) -3,23)

以下是ITS表的示例:

       B               C          D

 24   CUCUMBER  ANDREW&WILLIAM  381873

 25   CUCUMBER  ANDREW&WILLIAM  381873

 26   CUCUMBER  ANDREW&WILLIAM  381873

 27   CUCUMBER  DIVINE          611881

 28   CUCUMBER  WHOLESUM        100328

 29   CUCUMBER  WHOLESUM        100328

 30   CUCUMBER  DIVINE          1002874

问题是当我运行公式时; 我只回到底部5返回,它跳过前两个条目。

Answers:


1

你在第3行开始你的公式,这就是为什么它从第3个结果开始。要么从第一行开始,要么使用ROW(ITS!3:56)-2

为什么你需要使用配方?我使用数据透视表(如果你需要在每行显示黄瓜,你可以设置“重复项目标签”)。


0

这个ROW(ITS!3:56)论点SMALL没有意义。

你的公式现在在做什么:

SMALL函数调用单个单元格{3,4,5,...,56}中匹配数组中的最小项。通过纯粹的意外,这具有按预期工作的错觉,因为在单个单元公式中仅使用该阵列中的第一项。因此,在您的第一个条目中,您将获得第三个最小的项目。

当你填满时,它会调用第一{4,5,6,...,57}项,巧合的是第四项。等等。

您希望公式做什么:

您希望最后一个参数SMALL是单个数字(不是数组),当公式被填充时,该数字递增1。

您可以通过使用ROWS来实现此目的。在第一个公式中,将此作为最后一个参数SMALL

`ROWS($1:1)`

在填写公式时,这将增加1。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.