【问题标题】:Search a column for multiple "true" contents and return another cell value to a list在列中搜索多个“真实”内容并将另一个单元格值返回到列表
【发布时间】:2022-06-13 16:47:49
【问题描述】:

我正在寻找在每一列数据中搜索“真实”内容,然后从“E”列返回相邻代码,然后让它在第一个实例中返回“G”列底部的结果,然后“H”等。

结果将是一个数字列表,在该列中找到“true”。 我相信这是可以做到的,但对我来说太远了。

crop from database

【问题讨论】:

  • 你用的是哪个版本的excel? Excel 365 可以轻松完成。
  • 2013 年,周末安装了 365 个。
  • 谷歌搜索,2013 版不支持 textjoin。啊!!

标签: excel excel-formula


【解决方案1】:

在 Office 365 中: =FILTER($E$1:$E$10,G$1:G$10=TRUE)

或者如果有多个 TRUE 是可能的: =TEXTJOIN(",",1,FILTER($E$1:$E$10,G$1:G$10=TRUE))

在旧版本中(使用ctrl+shift+enter 确认数组公式): =INDEX($E:$E,AGGREGATE(15,6,ROW(G$1:G$10)/(G$1:G$10=TRUE),1))

或者对于多个 TRUE 是可能的(也可以是 ctrl+shift+enter): =TEXTJOIN(",",1,INDEX($E:$E,AGGREGATE(15,6,ROW(G$1:G$10)/(G$1:G$10=TRUE),ROW($A$1:INDEX($A:$A,SUM(--(G$1:G$10=TRUE)))))))

或者更好:=TEXTJOIN(",",1,REPT($E$1:$E$10,G$1:G$10=TRUE)) (不确定,无法测试是否需要输入ctrl+shift+enter) 基于https://stackoverflow.com/a/72564652/12634230

【讨论】:

  • 非常感谢。我发现单个报告有效,尽管我对其进行了调整以扩展到整个列表 =INDEX($E:$E,AGGREGATE(15,6,ROW(G$4:G$230)/(G$4:G$230=TRUE) ),1)) 但是多次返回有一个无效的名称错误。 =TEXTJOIN(",",1,INDEX($E:$E,AGGREGATE(15,6,ROW(G$4:G$230)/(G$4:G$230=TRUE),ROW($A$1:INDEX( $A:$A,SUM(--(G$4:G$230=TRUE))))))) 我认为它可能在 $a$a 参考中????
  • 我似乎无法重现错误:i.stack.imgur.com/HZznb.png(由于用于测试的计算机上的语言设置,我有分号分隔符)。
  • $A:$A 引用用于索引列。 SUM 部分返回 TRUE 的计数。因此,如果有两个 TRUE,则返回 A2。这被用作ROW 函数中的计数器,然后ROW(A1:A2) 为聚合/小函数返回一个 {1,2} 数组
  • 感谢再次查看,我已经意识到 =textjoin 不是 Excel2013 上的功能。 365 周末安装,所以下周应该一切都好。手指交叉。再次感谢
【解决方案2】:

formula in action Pt2

您好,公式返回的行不正确(从结果返回第 3 行)。我还在数据后将总和行更改为空行,因为如果所有列公式都查看原始 $A$A 列,它会失败。如此接近,但如此遥远。

【讨论】:

    猜你喜欢
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-05
    • 2015-12-18
    • 2015-09-11
    • 2017-08-25
    相关资源
    最近更新 更多