在已查找的另一个值的同一行中查找值?

问题描述

我使用以下公式从另一个工作表中查找值:

=IFERROR(INDEX('Detail list'!$H$2:$H$1604;SMALL(IF(1=((--(A$1='Detail list'!$J$2:$J$1604))*(--(A$2='Detail list'!$I$2:$I$1604)));ROW('Detail list'!$H$2:$H$1604)-1;"");ROW()-2));"")

此查找基于两个条件:公司名称和年份。

Lookup example

查找发生在单元格 A3 及以后的单元格中。它使用 A1 中的公司名称和 A2 中的年份,然后在另一个工作表中找到相应的值。这里涉及重复项,因为用于此查找的列仅包含 001 到 010。它仍然能够根据年份和公司名称以正确的顺序返回所有值。

我现在想查找或将“对应”值与刚刚获取的值结合起来。例如: A3 (005) 中的值是指另一个工作表中的特定单元格。我想从那个确切的行但不同的列返回一个值。我尝试了以下方法

=IFERROR(@INDEX('Detail list'!$B$2:$B$1604;AGGREGATE(15;6;(ROW('Detail list'!$H$2:$H$19883)-ROW('Detail list'!$H$1))/('Detail list'!$H$2:$H$19883=A3);COUNTIF($A$3:$A3;A3)));"")

这确实会返回一个值(即客户值),但这并不精确,因为它采用完整列表中遇到的第一个 005(因此不再按年份和公司排序!)并报告该值。我需要它来自上一个值所指的确切行。

如果有人能帮我解决这个问题,我会很高兴。如果没有,我完全理解,

亲切的问候,

VHes

解决方法

在嵌套语句的同时保持引用的一致性和清晰性可能会很棘手。您是否考虑过将“详细信息列表”中的数据粘贴到当前工作表中并以这种方式使用 VLOOKUP 或 INDEX 之类的内容?

另一种可能的解决方案是将所有内容都放入数据透视表并使用过滤器来获取您需要的内容。不确定这些是否适用于您的任务。