我需要根据满足的条件将数据从一个工作表复制到另一个工作表。在工作表 1(所有项目)上,信息收集在 A - L 列中。如果在工作表 1 的 M 列中选择了“项目 1”,那么我希望该行中的某些单元格填充到工作表 2 上的仪表板中。我使用以下公式来捕获此信息,并且确实有效:
IF('所有项目'!M10="项目 1",'所有项目'!E10)
问题是工作表 1 上的“项目 1”文本会在行之间发生变化:想法是一次只将 1 行条目标识为“项目 1”,然后将该信息拉入仪表板。
例如,如果在工作表 1 的单元格 M10 中选择了“项目 1”,则上述公式将起作用,但如果从 M10 中删除“项目 1”并将其放置在单元格 M11 中,则该公式将不起作用。
我如何使该公式与变化的行相关。
预先感谢您的帮助!
答案1
问题是您的公式设置为仅查看单元格 M10。您需要公式查看整个列并找到匹配项。Cybernetic.nomad 提到了 vlookup,它可以工作。我个人更喜欢 Index/Match 公式。
Index/Match 首先结合了两个公式:
指数你希望展示的价值观范围
然后
匹配针对另一范围值的标准。
在您的情况下,您想要索引项目名称,并匹配“优先级 1”作为标准。
B4 中的公式是
=INDEX('All Projects'!B:B,MATCH(Priority!$A$3,'All Projects'!D:D,0))
这就是公式的作用
=INDEX('All Projects'!B:B
告诉您的公式您想要从工作表“所有项目”的 B 列返回一个值。在本例中,项目名称
,Match(Priority!$A$3
这会告诉公式您的匹配标准是什么。在本例中,它是红色单元格中的标题,或“项目 1”。它在工作表优先级的单元格 A3 中查找值。
,Match(Priority!$A$3,'All Projects'!D:D,0))
现在,公式采用条件(A3 或“项目 1”)并尝试在工作表“所有项目”列“优先项目”中找到匹配项。(更改列字母以满足您的需求。
网上有很多关于 INDEX/MATCH 的指南。这是一个非常灵活的公式。
PS - 上述解决方案应该可以解决您的问题。但是,个人建议将您的“项目列表”变成实际的表格,方法是选择所有数据并单击“插入表格”。然后,您可以在“表格工具”下命名表格并为公式创建引用,而不是使用单元格和列。这些称为结构化引用。
在这种情况下,我仍然使用 INDEX/MATCH,但现在我需要做的就是开始输入“项目列表”(我为包含所有项目信息的表指定的名称),然后我可以选择表名,然后选择我想要引用的列。
有关结构化引用的更多信息,查看此网站。