【问题标题】:Excel Matching any value across row of cells to any value in lookup listExcel将单元格行中的任何值与查找列表中的任何值匹配
【发布时间】:2014-08-14 18:11:16
【问题描述】:

我想我正在尝试与这里的问题相反: See if any values in array exist in a column (excel)

我已经搜索过 excel 匹配,查找任何值,跨多个值查找任何值,但没有找到任何东西,但如果它是重复的,请关闭它。这是我的第一个问题,所以我的格式可能有误。

我在Sheet1 上有一个数据集,其中有数据点,并且我已经完成了查找以创建层次结构列表。例如

Node1     Parent1     Parent2     Parent3     ....
Node2     Parent1     Parent2     Parent3     ....
Node3     Parent1     Parent2     Parent3     ....

这是一个组织层次结构,在顶层和底层节点之间具有不同的级别。

我在Sheet2 中有一个特定父母的唯一列表,我将其称为SpecialParentList。它们是排他性的; Sheet1 的每一行父母中只有一个会出现。但是,它们可能会出现在任何地方,如 Parent1Parent2 等。SpecialParent 可以在 Parent1 中用于 Node1Parent2 用于 Node2

我要做的是查看Node1行,并检查每个父级是否在SpecialParentList中,然后返回该SpecialParent的值。

我觉得应该有一种简短的方法可以做到这一点,而无需单独查找每个 SpecialParent,但我无法弄清楚。

【问题讨论】:

    标签: excel-formula match lookup


    【解决方案1】:

    我不确定它是否正是您需要的,但试试这个。假设 ParentA、ParentB... 是您要查找的对象,而 Parent1、Parent2... 只是您不感兴趣的其他对象。

    我在表格 1 的单元格 A1:F3 中设置了一些测试数据:-

    Node1,Parent1,ParentA,Parent2

    Node2,Parent1,Parent2,ParentB,Parent3,Parent4

    Node3,ParentC,Parent1,Parent2,Parent3

    以及表格 2 的单元格 A1:A3 中的列表,不必按顺序排列:-

    父母A

    父母B

    父C

    然后将以下数组公式放入 sheet1!G1 并通过单元格 G2 和 G3 向下复制

    =MAX((1-ISERROR(MATCH(B1:F1,Sheet2!B$1:B$3,0)))*(COLUMN(Sheet1!B1:F1)-1))

    这将给出相对于找到 ParentA 等的第 2 列的位置,即

    2

    3

    1

    (如果没有找到,则为0,如果有多个匹配项,则为最后一个)

    然后您可以通过将以下公式放入 H1 并将其复制下来以找到您要查找的 Parent 的值来对其进行索引:-

    =IF(G1,INDEX(B1:F1,1,G1),"")

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-22
      • 1970-01-01
      • 1970-01-01
      • 2018-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多