【问题标题】:Retrieve List of Cells in Excel Where Column Equals Something在Excel中检索列等于某事的单元格列表
【发布时间】:2012-05-07 16:24:43
【问题描述】:

我试图在不使用 VBA 宏的情况下在 Excel 中做某事。我怀疑这是可能的,但到目前为止有一些是空的。基本上对于表中的值,我想有条件地检索 A 列中所有值的列表,其中 B 列等于我提供的值。

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

Column A  Column B
   1          0
   2          0
   3          1
   4          0

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

最终我需要从 A 列中提取一个符合 B 列标准的随机值,以防在最终解决方案中很重要。

谢谢。

【问题讨论】:

  • 数据透视表当然是一种解决方案,但为什么不直接使用自动过滤器呢?也就是说,如果您坚持使用公式而不是 VBA,请尝试我提供的解决方案。
  • 谢谢。我需要为人们自动化一个更复杂的任务,我更喜欢复制和粘贴方法来实现它。我实际上使用了类似于 =OFFSET(Campaigns!$A$1,RANDBETWEEN(MATCH(B2,Table2[[#All],[Advertiser ID]],0), MATCH(B2,Table2[[#All], [广告商 ID]],1))-1,0),我确保对表格进行正确排序。不是最优雅的解决方案,但它确实有效。

标签: excel excel-formula


【解决方案1】:

使用数组公式。

输入:

=INDEX($A$1:$A$4,SMALL(IF($C$1=$B$1:$B$4,ROW($B$1:$B$4)),ROW(1:1)),1)

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

【讨论】:

  • 嗨,我正在尝试类似的东西。我可以将countif函数与上述公式一起使用为criteria吗?
  • 我如何获得超过第一列的内容?
猜你喜欢
  • 2021-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-25
  • 1970-01-01
  • 2018-05-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多