【发布时间】:2017-04-27 03:56:11
【问题描述】:
在下面的公式中,
我需要搜索第一张表中的每一行、sheet2 中的所有行、B 列和D 列中的所有行,然后从那里获取对应的值:
=X2&"|" & IF(AND(Sheet1!E2=Sheet2!B2,Sheet1!C2=Sheet2!D2),Sheet2!Z2 & "|" & Sheet2!Y2,"")
=X2&"|" & IF(AND(Sheet1!E2=Sheet2!B:B,Sheet1!C2=Sheet2!D:D),Sheet2!Z#INDEX_of_lineWHICHMATCHESCRITERIA & "|" & Sheet2!Y#INDEX_of_lineWHICHMATCHESCRITERIA,"")
我还没想好如何正确使用INDEX函数来实现这个,结合上面的公式
我详细介绍了任务: 我有一个excel文件。需要完成的任务如下:对于每一行(实际上对于每个 id,存储在 A 列中 - 存在于工作表 1 中),以下条件为真:
E 列(存在于工作表 1)= B 列(存在于工作表 2)和 C 列(存在于工作表 1)= D 列(存在于工作表 2),
我必须将 Z 列(存在于工作表 2)和 Y 列(存在于工作表 2)中的数据插入到 X 列(存在于工作表 1)中。
如果 X 列中已有数据,则所有新插入的数据都必须有 |作为分隔符,应插入现有值的前面。
如果 Z 或 Y 列中不存在数据,则不会向 X 列插入任何数据。
我尝试过使用索引匹配,但没有成功,我认为需要更复杂的东西。我怎样才能用excel公式做到这一点?为了得到满足条件的行,应该如何转换下面的公式? =X2&"|" & IF(AND(Sheet1!E2=Sheet2!B2,Sheet1!C2=Sheet2!D2),Sheet2!Z2 & "|" & Sheet2!Y2,"")
=X2&"|" & IF(AND(Sheet1!E2=Sheet2!B:B,Sheet1!C2=Sheet2!D:D),Sheet2!Z#lineWHICHMATCHESCRITERIA & "|" & Sheet2!Y#lineWHICHMATCHESCRITERIA,"")
【问题讨论】:
-
=INDEX(Sheet2!$B:$B, MATCH(criteria, Sheet2!$B:$B, 0))其中条件是您尝试匹配的值。 -
让我感到困惑的是,我必须匹配工作表 1 中的第 2 行,以及工作表 2 中的另一行,并且标准是 E2=B 列中的值和 C2 中的值 - 列中相应行的值D、我应该如何制作上面的公式才能得到我想要的值?
-
你可以通过定义两个查找值来匹配上面的两个值,例如
{=MATCH(Sheet1!$E2&Sheet1!$C2,Sheet2!$B:$B&Sheet2!$D:$D, 0)}只记得输入CTRL+SHFT+ENTER -
=X2&"|" & IF(AND(Sheet1!E2=Sheet2!B2,Sheet1!C2=Sheet2!D2),Sheet2!Z2 & "|" & Sheet2!Y2,"") 满足条件 AND Sheet1!E2=Sheet2!B2, Sheet1!C2=Sheet2!D2,我需要从 Z 列和 Y 列中提取值,仍然困惑我应该如何将您的建议与我的公式结合起来......
-
我也是,放一些样本数据。在您上面的评论中,它说
IF A = B和IF A = B,为什么要检查两次相同的东西?您需要阅读下面鲍里斯的回答,然后搜索 INDEX MATCH Multiple Values。
标签: excel excel-formula