如何在 Excel 中将 2×2 比较转换为矩阵?

如何在 Excel 中将 2×2 比较转换为矩阵?

我现在的桌子:

第 1 项 第 2 项 相似度 (%)
A A 100
A 90
A C 85
100
C 70

我想要得到什么:

A C
A 100 90 85
90 100 70
C 85 70 100

有没有办法在 Excel 中获取此信息?感谢您的时间!

答案1

您能根据您当前的表格解释为什么行和列都是 C 时值是 100 吗?

请检查以下步骤是否有帮助。

  • 将项目 1 和项目 2 复制到新列,然后转到数据 > 删除重复项。

然后我们就可以得到“A,B,C”的列表。

  • 获取列表,然后转到“主页”选项卡 > 剪贴板组 > 粘贴 > 选择性粘贴 > 反向。

这样我们就可以得到矩阵的行名和列名。

  • =SUMPRODUCT(($A$2:$A$6=$E5)*($B$2:$B$6=F$4),($C$2:$C$6))如下图输入F5,然后往下拉,往右拉。

在此处输入图片描述

  • 复制从 E4 到 H6 的范围,选择一个空白单元格,然后右键单击它 > 选择性粘贴。在我的示例中,我选择单元格 E9。

选择值并转置。

在此处输入图片描述

在此处输入图片描述

  • 选择E9至H12的范围,按Ctrl+H,将值0替换为空。

在此处输入图片描述

  • 选择F10至H12范围,点击复制,右键点击F5,选择选择性粘贴,勾选“跳过空白”。

在此处输入图片描述

在此处输入图片描述

答案2

如果您的输入表的左上角是 A1,而输出表的左上角是 E1,那么给定的数据表将使用单元格 F2 中的以下公式给出所需的输出:(它SPILLS...对于早期版本的 Excel,只需将公式放在那里,然后复制并粘贴以填充您的输出表,但对于稍微多一点的工作,可以将范围引用变成单元格引用,以完全控制仅对哪些单元格进行评估)

=XLOOKUP( IF(E2:E4<F1:H1, E2:E4&"|"&F1:H1, F1:H1&"|"&E2:E4), A2:A6&"|"&B2:B6, C2:C6, "—")

嗯,实际上,对于未找到的对,比如右下角的“CC”对,它会给出“—”(同一个人Emily的答案询问)。

最棘手的部分是行列标签组合时需要排序,以便轻松搜索输入表。这是通过IF()查找值参数(第一个参数)中的完成的XLOOKUP()。其余部分很容易理解。

可以将输出表的行和列标题填充为SORT(UNIQUE())输出表的最左列,作为行标题和TRANSPOSE(SORT(UNIQUE()))列标题。只需稍加努力,就可以将这两个公式放入上面的表格填充公式中,代替 E2:E4 和 F1:H1,使整个表格更紧密(因为每个部分都与其他部分完全匹配)。

但是,只需在单元格 F2 中执行上述操作,即可通过对范围进行适当的编辑很好地填充任何表格。

当然,数据透视表(交叉表)和相关功能和技术 37 年来一直非常流行,这是有原因的,因此采用非公式方法肯定不会在输出质量方面退步。

相关内容