Excel与IF语句连接

我想要做的是连接两个单元格,然后检查连接值对一列值,并将一个单元格,如果这样的值存在。 以下等式是我正在使用的:

{=IF(CONCATENATE(A2, " ", B2) = 'MasterList'!$C:$C, "x", "")} 

列A是软件的名称,列B是版本号(A="Microsoft .NET Framework 4.5.1", B="4.5.50938", for example). 我知道这个连接值存在于MasterList工作表上,所以我不明白为什么我没有得到我期望的答案。

大师,这里有什么缺点?

工作表上最快的比较/查找是一个MATCH函数。 如果你有一个很长的专栏,把这个公式,你可以尝试,

 =IF(ISNUMBER(MATCH(CONCATENATE(A2, " ", B2), 'MasterList'!$C:$C, 0)), "x", "") 

根据需要填写。

它接缝,你selectMasterList表上的整个C列。 你不是说只有一个单元? 喜欢:

 =IF(CONCATENATE(A2, " ", B2) = 'MasterList'!$C1, "x", "") 

或尝试: =IF(CONCATENATE(A2, " ", B2) = MasterList.!$C1, "x", "") (在打开的Office上)

最好的事情是,而不是你写的工作表名称,让Excel通过编辑公式为您做,删除工作表名称,然后用鼠标单击导航到所需的区域。

我只想说,在看到这个问题之前,我不知道数组公式是什么。

我有以下工作示例:

工作表Sheet1:

 A1: Microsoft .NET Framework 4.5.1 B1: 4.5.50938 // press control-shift-enter after typing formula C4: =IF(CONCATENATE(A1," ",B1)=Sheet2!$A:$A,"YAY","NAY") 

Sheet2中:

 A1: Microsoft .NET Framework 4.5.1 4.5.50938 

不知道你的电子表格有什么问题。 MasterList!$C:$C的值是否实际上对应于您期望的串联结果?

这不是一个有效的数组公式。 LHS是一个单元,而RHS是一个arrays。 它实际上做的是比较连接到MasterList中列C 所有单元格

您需要使其成为有效的数组公式或正常公式。 我build议第二个解决scheme。

对于第一种解决scheme,应该是:

 {=IF(CONCATENATE(A:A, " ",B:B ) ='MasterList'!$C:$C, "x", "")} 

但是,这将会非常缓慢,因为它会计算和连接两个完整的列 ,此外,您将不得不select要计算它的整个范围(一个完整列),然后按Ctrl + Shift + Enter。

你可以在单元格中制作一个简单的公式,然后复制/粘贴你的列。 C2公式:

 =IF(CONCATENATE(A2, " ", B2) = 'MasterList'!$C2, "x", "")