检索Excel中列等于某物的单元格列表

检索Excel中列等于某物的单元格列表,excel,excel-formula,Excel,Excel Formula,我正在尝试在Excel中做一些事情,而不使用VBA宏。我想这是可能的,但到目前为止,我已经有一些空的了。基本上,对于表中的值,我希望有条件地检索列a中所有值的列表,其中列B等于我提供的值 例如,我想要一个函数,如果B列等于零,它本质上返回a列单元格的范围/描述 Column A Column B 1 0 2 0 3 1 4 0 将返回描述单元格a2、a3和a5(1、2、4)的范围。我希望能够使用公

我正在尝试在Excel中做一些事情,而不使用VBA宏。我想这是可能的,但到目前为止,我已经有一些空的了。基本上,对于表中的值,我希望有条件地检索列a中所有值的列表,其中列B等于我提供的值

例如,我想要一个函数,如果B列等于零,它本质上返回a列单元格的范围/描述

Column A  Column B
   1          0
   2          0
   3          1
   4          0
将返回描述单元格a2、a3和a5(1、2、4)的范围。我希望能够使用公式来实现这一点,而不是手动使用透视表。我愿意使用透视表创建数据视图,前提是该表可以通过函数引用,从而得到适当的结果。我还能够以任何方式对B列进行排序,如果这样做更容易的话

最后,我需要从a列中提取一个符合B列标准的随机值,以防在最终解决方案中出现问题

谢谢。

使用数组公式

输入:

=索引($A$1:$A$4,小型(如果($C$1=$B$1:$B$4,行($B$1:$B$4)),行(1:1)),1)

然后按Ctrl+Shift+Enter。拖动并填充下面的单元格,直到
#NUM显示。此公式假设您要查找的值位于
C1
中,并且没有标题(数据从第1行开始,而不是第2行开始)。

使用数组公式

输入:

=索引($A$1:$A$4,小型(如果($C$1=$B$1:$B$4,行($B$1:$B$4)),行(1:1)),1)


然后按Ctrl+Shift+Enter。拖动并填充下面的单元格,直到
#NUM显示。此公式假定您要查找的值位于
C1
中,并且没有标题(数据从第1行开始,而不是第2行)。

透视表当然是一种解决方案,但为什么不使用自动筛选呢?也就是说,如果您坚持使用公式而不是VBA,那么请尝试我提供的解决方案。谢谢。我需要为人们自动化更复杂的任务,我更喜欢复制粘贴方法,而不是实现这一点。实际上,我使用了一些类似于=OFFSET(活动!$A$1,randtween(MATCH(B2,Table2[[#All],[Advertiser ID]],0),MATCH(B2,Table2[[#All],[Advertiser ID]],1))-1,0的东西,其中我确保了表的正确排序。虽然不是最简单的soluiton,但它确实有效。透视表当然是一种解决方案,但为什么不使用自动筛选呢?也就是说,如果您坚持使用公式而不是VBA,那么请尝试我提供的解决方案。谢谢。我需要为人们自动化更复杂的任务,我更喜欢复制粘贴方法,而不是实现这一点。实际上,我使用了一些类似于=OFFSET(活动!$A$1,randtween(MATCH(B2,Table2[[#All],[Advertiser ID]],0),MATCH(B2,Table2[[#All],[Advertiser ID]],1))-1,0的东西,其中我确保了表的正确排序。不是最优雅的soluiton,但它很管用。嗨,我正在尝试类似的东西。我可以使用
countif
函数并将上述公式作为
标准吗?如何获得比第一列更多的值?您好,我正在尝试类似的方法。我可以使用
countif
函数将上述公式用作
标准吗?我如何获得比第一列更多的值?