【问题标题】:Return all the cell whose next one contains a value range返回下一个包含值域的所有单元格
【发布时间】:2016-09-05 08:39:26
【问题描述】:

我需要在一个单元格中返回所有单元格值,其中旁边的单元格包含一个值范围。

例如,如果我有这样的表:

|Name  |Evaluation
|------|------
| John | 3 
| Sue  | 4 
| Jim  | 2 
| Andy | 6 
| Tim  | 1 
| Bruce| 4 

我正在寻找一个公式来包含所有评估为 >= 4 的名称,因此,如果应用于表格,它应该在单个单元格中作为输出提供:

Sue
Andy
Bruce

我已经尝试过 VLOOKUPINDEXMATCHFIND 函数,但它们都返回一个值(第一个匹配的单元格)而不是全部。

如果可能的话,我正在寻找一个 Excel 公式,而不是 VBA(这样我可以很容易地与我的工作组分享它,因为我自己对 VBA 不是很精通)。

非常感谢!

【问题讨论】:

  • 我不确定是否可以仅使用公式将它们组合成一个单元格 - 我不会说这是不可能的,因为下一个发帖的人可能会证明我错了。但是....您可以使用此数组公式作为可能的起点 - 突出显示单行中的 6 个单元格(我使用 D1:I1)并在第一个单元格中输入此数组公式:{=TRANSPOSE(IFERROR(INDEX($A$2:$A$7, SMALL(IF($B$2:$B$7>=4, ROW($B$2:$B$7)-MIN(ROW($B$2:$B$7))+1, ""), ROW($A$1:$A$6))), ""))} - 它会返回 Sue,前三个牢房里的安迪和布鲁斯。 编辑:删除 Transpose 以将结果显示在行而不是列中。

标签: excel excel-formula


【解决方案1】:

=IF(B1>=4,A1,"") 将命令写入c1列并将C1列拖到列尾直到结束名称
(假设您在 A1 列中写名字,在 B1 中写评估)

【讨论】:

  • 感谢您的回答!不幸的是,我需要将结果放在单个单元格中,而不是在不同的单元格中,每个名称的末尾都有一个 return (在我的文档中我有 120 行)。你能帮我解决这部分问题吗?
【解决方案2】:

我已通过(部分)使用 dhS 发布的解决方案和支持表解决了这个问题。

我已经创建了与原始支撑台高度相同的支撑台。该表从 F1 到 F120(原始表的末尾)。 在第一个单元格中,我使用了公式 =IF(B1>=4;$B1;"") 在所有后续单元格中(从第二个到最后一个) =IF(B2>=4;IF(F1="";B2;F1&CHAR(10)&B2);F1)

这样,在最后一个单元格中,所有名称将由回车符 (CHAR(10)) 分隔。 对于想要使用此解决方案的任何人,请记住启用单元格上的 Wrap Text 选项,否则您将无法可视化返回。

感谢大家给我的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多