【问题标题】:How to extract unique values from one column based on criteria from two other columns, with or statement?如何使用或语句根据其他两列的条件从一列中提取唯一值?
【发布时间】:2019-11-27 02:41:25
【问题描述】:

我的数据集如下所示:

ID  Name1   Name2
1   Jack    Tom
1   Tom     Tom
1   Lisa    Tom
2   Tom 
2   Tom 
3   Frank   Frank
3   John    Frank
3   Frank   Frank
3   John    Frank
4           Tom
4           Tom
5   Lisa    
5   Jack    

我想要以下输出:

Result
1
2
4

注意:如果“Tom”显示在两个名称列之一中,我想要 Tom 的唯一 ID。

我尝试使用以下公式:

IFERROR(INDEX(INDIRECT($B$14); MATCH(0; IF($B$10=INDIRECT($B$16); IF($B$10=INDIRECT($B$15); COUNTIF($E$27:E27; INDIRECT($B$14)); "")); 0));"")

问题在于,这只会给我 ID nr 1 作为输出,因为在这种情况下,Tom 出现在两列中。我想我需要对公式实施 OR 语句。

我的公式解释:

  • Indirect(B14):调用 ID 的数组。 B14 包含此数组的名称。
  • B10:包含我要匹配的名称(即“Tom”)
  • 间接(B16):列名称1
  • 间接(B15):列名称2

好的答案将获得奖励:)

【问题讨论】:

    标签: excel list indexing excel-formula unique


    【解决方案1】:

    我使用了您的公式(没有 INDIRECT 语句)并添加了 ISNUMBER 和 FIND,以便在 B 列和 C 列的组合中找到“Tom”:

    这是一个数组公式(Ctrl+Shift+Enter):

    =IFERROR(INDEX($A$1:$A$14,MATCH(0,COUNTIF($F$1:F1,IF(ISNUMBER(FIND("Tom",$B$1:$B$14&$C$1:$C$14)),$A$1:$A$14,"")),0)),"")
    

    结果:

    我不能使用 INDIRECT 引用,因为我不确定它们到底指向什么(即范围和列名是什么)。我希望您修改我的公式以匹配您的参考资料不会太困难。

    希望对您有所帮助!干杯。

    【讨论】:

    • 谢谢!即使使用我的间接函数,这也有效:) 我使用间接函数,因为我在仪表板工作表的一个特定单元格中具有范围的动态名称。即我在另一工作表中手动命名了不同的数组。
    猜你喜欢
    • 2019-04-15
    • 1970-01-01
    • 2013-03-12
    • 2015-05-30
    • 1970-01-01
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    • 2022-09-30
    相关资源
    最近更新 更多