我正在努力将边缘列表转换为邻接矩阵,并在LibreOffice Calc中寻找一个函数来引用具有一些条件的单元格值 .
我的表(在sheet2中)看起来像这样
A (id) B (id) C (weight)
1 002 003 4
2 003 005 2
3 001 003 1
4 002 004 5
5 004 001 3
我想像这样制作一个新的数据集(在sheet1中),包含C列(权重)的值 .
A B C D E F
1 001 002 003 004 005
2 001 0 0 1 0 0
3 002 0 0 4 5 0
4 003 0 0 0 0 2
5 004 3 0 0 0 0
所以,例如在单元格B2中我想要一个像这样的函数:
=(sheet2中列C的值WHERE“sheet2中A列中的行等于sheet1中的A2值" AND "表2中B列中等于sheet1中B1的行”)
如果没有结果,它应该产生值“0” .
有没有办法在LibreOffice Calc中创建这个功能?
1 回答
您可以使用数据透视表,但我没有找到满足每个要求的方法 . 我确信有更好的方法,所以这是一种快速和肮脏的方式:
选择"data columns" A到C(在您的示例中:B1:D6)
菜单数据 - 数据透视表 - >来自当前选择
将"A"列拖动到"Row fields","B"到"Column fields"和"C"到数据字段 . 您可能想要从更多选项中禁用"Total Columns","Total rows"和"Add filter":
结果如下:
因此,它在正确的位置具有正确的值,但我没有找到插入0值的方法,其中没有组合结果 .
您可以轻松编辑生成的矩阵或通过
copy
/paste special
(值和文本)创建可编辑的副本 .