Excel与IF语句连接

时间:2017-03-29 22:24:37

标签: excel excel-formula concatenation

我要做的是连接两个单元格,然后针对一列值检查该连接值,如果存在这样的值,则将X放入单元格中。以下等式是我使用的:

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

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

大师,我的缺陷是什么?

4 个答案:

答案 0 :(得分:2)

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

#!C:/Strawberry/perl/bin/perl.exe
print "Content-type: text/html\n\n";
print "Hello, World.";

根据需要填写。

答案 1 :(得分:1)

我只想说在看到这个问题之前,我不知道array formulas是什么。

我有以下工作示例:

Sheet 1中:

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")

Sheet 2中:

A1: Microsoft .NET Framework 4.5.1 4.5.50938

不确定电子表格的问题。 MasterList!$C:$C中的值是否实际上与您对拼接结果的期望值相对应?

答案 2 :(得分:1)

这不是有效的数组公式。 LHS是单个单元,而RHS是阵列。它实际上做的是将串联与C中列MasterList所有单元格进行比较。

您需要使其成为有效的数组公式或普通公式。我推荐第二种解决方案。

对于第一个解决方案,它应该是:

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

然而,这将非常缓慢,因为它将计算并连接两个完整列,而且您必须选择要计算它的整个范围(完整列)然后按CTRL + SHIFT + Enter键。

您可以在单元格中创建一个简单的公式,然后沿着列复制/粘贴。 C2的公式:

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

答案 3 :(得分:1)

您选择了 MasterList 表上的整个列 C 。不是说你只是一个牢房吗?像:

{ name: 'title', type: 'string', critical: true }

或尝试:=IF(CONCATENATE(A2, " ", B2) = 'MasterList'!$C1, "x", "") (在开放式Office上)

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