矩阵与配对观察列表中的布尔值

时间:2015-04-29 11:51:38

标签: excel matrix boolean

在下面的电子表格中,单元格值表示人员的ID。 A栏中的人喜欢B栏中的人,但可能不是相互的。因此,在数据的第一行中,人1喜欢2.在第二行中,数据人1喜欢3。

private void buttonNewAppt_Click(object sender, EventArgs e)
        {
            NewAppointment();
            NewAppointment form2 = new NewAppointment();
            form2.ShowDialog();
        }

private void buttonNewReccuringAppt_Click(object sender, EventArgs e)
        {
            NewRecurringAppointment();
            RecurringAppointmentForm form3 = new RecurringAppointmentForm();
            form3.ShowDialog();
        }

我正在寻找一种方法,让一个4 x 4矩阵的条目为1 in(i,j),表示我喜欢人j,输入0表示他们没有。执行任务后,上面的例子应该是这样的:

A B    
1 2    
1 3    
2 1    
2 4    
3 4    
4 1

所以,读取矩阵的第一行我们会这样解释:人1不喜欢人1(单元格值= 0),人1喜欢人2(单元格值= 1),人1喜欢人3 (单元格值= 1),人1不喜欢人4(单元格值= 0)

请注意,配对问题的顺序是 1 2 3 4 1 0 1 1 0 2 1 0 0 1 3 0 0 0 1 4 1 0 0 0 不等于[4 2]

怎么可以这样做?

1 个答案:

答案 0 :(得分:1)

假设您的现有数据位于A1:B6,则在A10输入:

=COUNTIFS($A$1:$A$6, ROW()-9,$B$1:$B$6, COLUMN())

这将返回1或0,具体取决于人1是否喜欢此人1。它们不会让你得到0.它使用Row()-9返回1COLUMN()返回1来查找匹配项。

将此公式复制到4列和4行,ROW()-9COLUMN()公式将返回检查COUNTIFS()公式的相应值,以查找匹配对。

enter image description here

就个人而言,如果这是我必须做的事情而且我的矩阵大小不确定,我可能会在第二个标签上粘贴这些公式,从A1开始并使用ROW()我不在的地方必须按9进行调整。但是对于同一个标签上的一次性,为了帮助检查结果,上面的情况很好。