我现在的桌子:
第 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 年来一直非常流行,这是有原因的,因此采用非公式方法肯定不会在输出质量方面退步。