根据2列中的特定值选择excel中的行,

时间:2012-02-02 10:08:06

标签: 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)轻松完成'1'并用公式替换0以找到相关性)

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

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

感谢。

2 个答案:

答案 0 :(得分:1)

假设您的源数据范围在Sheet1上,从A1到C3,结果范围在Sheet2上,从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 :(得分:0)

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

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