Excel 中多个查找的聚合值
Aggregate Values of Multiple Lookups in Excel
我正在寻找一个非VBA解决这个问题的方法。
假设我在电子表格中有一个图表(在计算机科学意义上)如下:
A B C D
1 Vertex Neighbors Degree Avg Nghbr Deg
2 A B,C 2 2.5
3 B A,C 2 2.5
4 C A,B,D 3 1.666666667
5 D C 1 3
我已经手动输入了 C 和 D 列,但我希望自动计算它们。我已经为 C 列找到了合理的解决方案,这些解决方案基本上计算逗号并加 1。但是对于 D 列,我找不到解决方案。我发现无数文章解释如何在 one 列中多次查找 one 值,还有无数文章解释如何查找 multiple 值一次在 multiple 列中,但我不知道如何在一个列中查找多个值,取回值数组,以及然后取该数组的平均值。我确信这可以在 VBA 中完成,但我更喜欢原生 Excel 解决方案(如果存在的话)。
显然我想扩展它以便我可以对顶点的邻居进行其他分析。大概一旦我知道了分析一个 "looked-up array" 的方法,我也将能够在其他功能中使用它。
非常感谢任何帮助。
获取 C 列:
=LEN(B2)-LEN(SUBSTITUTE(B2,",",""))+1
要获取 D 列,请将 SUMPRODUCT 与 SEARCH 结合使用:
=SUMPRODUCT((ISNUMBER(SEARCH("," & $A:$A & ",","," & B2 & ",")))*$C:$C)/C2
我正在寻找一个非VBA解决这个问题的方法。
假设我在电子表格中有一个图表(在计算机科学意义上)如下:
A B C D
1 Vertex Neighbors Degree Avg Nghbr Deg
2 A B,C 2 2.5
3 B A,C 2 2.5
4 C A,B,D 3 1.666666667
5 D C 1 3
我已经手动输入了 C 和 D 列,但我希望自动计算它们。我已经为 C 列找到了合理的解决方案,这些解决方案基本上计算逗号并加 1。但是对于 D 列,我找不到解决方案。我发现无数文章解释如何在 one 列中多次查找 one 值,还有无数文章解释如何查找 multiple 值一次在 multiple 列中,但我不知道如何在一个列中查找多个值,取回值数组,以及然后取该数组的平均值。我确信这可以在 VBA 中完成,但我更喜欢原生 Excel 解决方案(如果存在的话)。
显然我想扩展它以便我可以对顶点的邻居进行其他分析。大概一旦我知道了分析一个 "looked-up array" 的方法,我也将能够在其他功能中使用它。
非常感谢任何帮助。
获取 C 列:
=LEN(B2)-LEN(SUBSTITUTE(B2,",",""))+1
要获取 D 列,请将 SUMPRODUCT 与 SEARCH 结合使用:
=SUMPRODUCT((ISNUMBER(SEARCH("," & $A:$A & ",","," & B2 & ",")))*$C:$C)/C2