我要做的是连接两个单元格,然后针对一列值检查该连接值,如果存在这样的值,则将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工作表上存在这个连接值,所以我不明白为什么我没有得到回答我期待。
大师,我的缺陷是什么?
答案 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通过编辑公式为您完成,删除工作表名称,然后用鼠标单击导航到所需的区域。