根据两列中的特定值在excel中选择一行,

根据两列中的特定值在excel中选择一行,,excel,excel-formula,Excel,Excel Formula,数据格式大致相同 A B C ID1 ID2 0.5 ID1 ID3 0.7 ID2 ID3 0.9 我想创建一个关联矩阵(C列是a和B中ID之间的关联)。这当然可以通过透视表来完成,但我必须使用sum,如果存在重复项,则可能会有风险,因为错误可能并不明显。输出格式为: ID1 ID2 ID3 ID1 1 .5 .7 ID2 .5 1 .9 ID3 .7 .9 1 (使用=IF(B$2=$A3,1,0)并用公式替换0以查找相关性,就可以轻松完

数据格式大致相同

A    B    C
ID1  ID2  0.5
ID1  ID3  0.7
ID2  ID3  0.9
我想创建一个关联矩阵(C列是a和B中ID之间的关联)。这当然可以通过透视表来完成,但我必须使用sum,如果存在重复项,则可能会有风险,因为错误可能并不明显。输出格式为:

    ID1 ID2 ID3
ID1  1  .5  .7
ID2 .5   1  .9
ID3 .7  .9   1
(使用
=IF(B$2=$A3,1,0)
并用公式替换0以查找相关性,就可以轻松完成“1”)

我基本上想要一个匹配(
col a=ID1
&&&
col b=ID2
)。我怀疑它可以通过连接来完成,但我不确定这是一个好的解决方案?Match/Vlookup等只返回[该列中]的第一个匹配项,这对我没有好处。我猜是“where”从句的颂歌吧

我的搜索没有显示任何有用的帮助,我已经计算了相关性,并将其从SQL输入excel。所以,是的,任何想法都是超级棒的,轴表是最后的选择


谢谢。

假设源数据范围在表1上,从A1到C3,结果范围在表2上,从A1到D4

你可以把这个公式放在B2上:

=SUMPRODUCT((Sheet1!$A$1:$A$3=Sheet2!B$1)*(Sheet1!$B$1:$B$3=Sheet2!$A2)*Sheet1!$C$1:$C$3)

然后,在整个范围内拖放此公式。

假设源数据范围在表1上,从A1到C3,结果范围在表2上,从A1到D4

你可以把这个公式放在B2上:

=SUMPRODUCT((Sheet1!$A$1:$A$3=Sheet2!B$1)*(Sheet1!$B$1:$B$3=Sheet2!$A2)*Sheet1!$C$1:$C$3)

然后,在整个范围内拖放此公式。

为什么不创建第三列,使用
=A1&B1
组合列
a
B
中的值,然后对该值执行
vlookup

A    B    C       D
ID1  ID2  ID1ID2  0.5
ID1  ID3  ID1ID3  0.7
ID2  ID3  ID2ID3  0.9

为什么不创建第三列,使用
=A1&B1
组合列
a
B
中的值,然后对该值执行
vlookup

A    B    C       D
ID1  ID2  ID1ID2  0.5
ID1  ID3  ID1ID3  0.7
ID2  ID3  ID2ID3  0.9

您也可以使用类似的版本,但与查找一起使用,其优点是C列可以是文本或数字,即
=查找(2,1/(Sheet1!$a$1:$a$3=Sheet2!B$1)/(Sheet1!$B$1:$B$3=Sheet2!$A2),Sheet1!$C$1:$C$3)
@barryhoudini:有趣的解决方案。这可能值得一个回答:)巴里,查找版本似乎不起作用,我在excel中遇到了一个错误。值始终是数字-但sumproduct与pivot表运行相同的风险,在pivot表中,重复的数据将导致错误信息的出现-但不明显是错误的。无论哪种方式,这都是一个出色的解决方案,所以感谢Jmax。我不知道你可以在Excel中使用这种逻辑索引。很高兴它起到了作用。我找不到任何简单的方法来检查相同公式中的重复。但是,如果您确实需要,您可以添加另一个公式来专门检查另一列中的重复项:)作为一种替代,查找公式现在可以工作了,但只有在我删除并手动输入“Sheet1!$C$2:$C$4”时,才不知道为什么。我也对2有点困惑,它似乎对公式没有影响。问题解决得很好。您也可以使用类似的版本,但有了查找,它的优点是C列可以是文本或数字,即
=查找(2,1/(Sheet1!a$1:$a$3=Sheet2!B$1)/(Sheet1!B$1:$B$3=Sheet2!A2),Sheet1!$C$1:$C$3)
@barryhoudini:有趣的解决方案。这可能值得一个回答:)巴里,查找版本似乎不起作用,我在excel中遇到了一个错误。值始终是数字-但sumproduct与pivot表运行相同的风险,在pivot表中,重复的数据将导致错误信息的出现-但不明显是错误的。无论哪种方式,这都是一个出色的解决方案,所以感谢Jmax。我不知道你可以在Excel中使用这种逻辑索引。很高兴它起到了作用。我找不到任何简单的方法来检查相同公式中的重复。但是,如果您确实需要,您可以添加另一个公式来专门检查另一列中的重复项:)作为一种替代,查找公式现在可以工作了,但只有在我删除并手动输入“Sheet1!$C$2:$C$4”时,才不知道为什么。我也对2有点困惑,它似乎对公式没有影响。问题解决得很好。