在下面的电子表格中,单元格值表示人员的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]
。
怎么可以这样做?
答案 0 :(得分:1)
假设您的现有数据位于A1:B6
,则在A10
输入:
=COUNTIFS($A$1:$A$6, ROW()-9,$B$1:$B$6, COLUMN())
这将返回1或0,具体取决于人1
是否喜欢此人1
。它们不会让你得到0.它使用Row()-9
返回1
和COLUMN()
返回1
来查找匹配项。
将此公式复制到4列和4行,ROW()-9
和COLUMN()
公式将返回检查COUNTIFS()
公式的相应值,以查找匹配对。
就个人而言,如果这是我必须做的事情而且我的矩阵大小不确定,我可能会在第二个标签上粘贴这些公式,从A1
开始并使用ROW()
我不在的地方必须按9
进行调整。但是对于同一个标签上的一次性,为了帮助检查结果,上面的情况很好。