我的表格包含2张纸,列数不同。我想添加一列,该列将根据每一行是否满足2个标准(sheet1!col1=sheet2!col1
和sheet1!col2=sheet2!col2
来为每行显示true或false(或其他2个相对的值)。
您将在下面找到插图。 我尝试使用
ARRAYFORMULA(VLOOKUP(A1&B1, {Sheet1!A1:A4&Sheet1!B1:B4,Sheet1!C1}, 3))
但是我收到一条错误消息
vlookup评估为超出范围
所以我想尝试
QUERY({Sheet1!A1:B4,A1:B5}, "Select C where ")
但是我不知道如何写条件where (sheet1)col1=(sheet2)col1 & (sheet1)col2=(sheet2)col2
,而且我也不知道我是否可以处理不同维度的表。我终于尝试了
=MATCH(A1&B1,{Sheet1!A1:A&Sheet1!B1:B})
,但始终返回1。 有什么想法吗?
答案 0 :(得分:0)
您的第一个公式几乎是正确的。您收到错误消息是因为大括号中只有一列,因此您必须将其更改为
=ArrayFormula(vlookup(A1&B1,{Sheet2!A:A&Sheet2!B:B},1,false))
并添加'false'以确保它只匹配完全匹配。
要使查询正常工作,您需要使用正确的语法来访问当前工作表中的单元格:
=query(Sheet2!A:B," select A,B where A='"&A1&"' and B='"&B1&"'")
要使匹配生效,您需要将其输入为数组公式,并添加零以指定完全匹配:
=ArrayFormula(MATCH(A1&B1,{Sheet2!A:A&Sheet2!B:B},0))
但是,如果我没有指出上面提到的vlookup和match存在问题,我会不屑一顾-toto&moto不仅会与toto&moto匹配,还会与tot&omoto等匹配。是要添加一个分隔符,例如
=ArrayFormula(vlookup(A1&"|"&B1,{Sheet2!A:A&"|"&Sheet2!B:B},1,false))
=ArrayFormula(MATCH(A1&"|"&B1,{Sheet2!A:A&"|"&Sheet2!B:B},0))
如果要报告“是”和“否”,并且不对空白行给出误报,这些仍需要整理一下-而且vlookup和match可以写为自扩展数组公式-但这是简短的答案问题。