在Excel电子表格中计算年长兄弟姐妹的数量
我有一份青少年成长的纵向电子表格在Excel电子表格中计算年长兄弟姐妹的数量,excel,Excel,我有一份青少年成长的纵向电子表格 ID | CollectionDate | DOB | MOTHER ID | Sex 1 | 1Aug03 | 3Apr90 | 12 | 1 1 | 4Sept04 | 3Apr90 | 12 | 1 1 | 1Sept05 | 3Apr90 | 12 | 1 2 | 1Aug03 | 21Dec91 | 12
ID | CollectionDate | DOB | MOTHER ID | Sex
1 | 1Aug03 | 3Apr90 | 12 | 1
1 | 4Sept04 | 3Apr90 | 12 | 1
1 | 1Sept05 | 3Apr90 | 12 | 1
2 | 1Aug03 | 21Dec91 | 12 | 0
2 | 4Sept04 | 21Dec91 | 12 | 0
2 | 1Sept05 | 21Dec91 | 12 | 0
3 | 1Aug03 | 30Jan89 | 23 | 0
3 | 4Sept04 | 30Jan89 | 23 | 0
这是一个关于我的数据是如何格式化的示例,以及我拥有的一些变量。正如您所看到的,由于它是纵向的,每个个体都有多个测量值。在实际数据库中,每个人超过10次测量,超过250次
我想做的是输入一个值,表示每个人拥有的哥哥和姐姐的数量。这就是为什么我将母亲ID(因为它代表了基因关联性)和性别包括在内。这些新的变量列只会说明每个人有多少个不同性别的兄妹。有没有一个公式可以让我快速做到这一点
=COUNTIFS($B:$B,"<>"&$B2,$H:$H,$H2,$AI:$AI,$AI2,$J:$J,"<"&$J2)
=COUNTIFS($B:$B,“”&$B2,$H:$H,$H2,$AI:$AI,$AI2,$J,“您需要这样一个公式(例如,第2行):
=COUNTIFS($A:$A,“&$A2,$E:$E,$E2,$D:$D,$D2,$C:$C,”我有一个可能的解决方案。它包括添加两列——一列为“#年长的兄弟姐妹”列,另一列为“唯一的?”。下面是我目前的所有标题:
- A--ID
- B--收款日期
- C——DOB
- D--母亲ID
- E——性
- F--#兄妹
- G——独一无二
在G2中,我添加了以下公式:
=IF(A2=A1,0,1)
=COUNTIFS(G:G,"=1",D:D,"="&D2,C:C,"<"&C2)
只要数据是按ID排序的,对于每个唯一的人只会显示一次“1”
在F2中,我添加了以下公式:
=IF(A2=A1,0,1)
=COUNTIFS(G:G,"=1",D:D,"="&D2,C:C,"<"&C2)
=COUNTIFS(G:G,“=1”,D:D,“=”&D2,C:C,”使用此公式创建一个名为Distinct的列
=1/COUNTIF([ID],[@ID])
然后你可以找到所有像这样的0性别的兄弟姐妹
=SUMPRODUCT(([DOB]>[@DOB])*([MOTHERID]=[@MOTHERID])*([Sex]=0)*([Distinct]))
请注意,我将数据设置为表并使用表表示法。如果您不熟悉,[COLUMNNAME]指的是整列,[@COLUMNNAME]指的是当前行中该列中的值。如果您处理的是列a,则类似于说$a:$a和A2
第一个公式为您提供了一个要计数的值,该值对于特定ID始终为1。因此,ID=1有三行,每行的Distinct值将为.33333。当您将三行相加时,将得到1。这类似于Sql术语中的SELECT Distinct
对于DOB大于当前DOB、母亲与当前母亲相同且性别为零的每一行,SUMPRODUCT公式求和[不同]
这是为关系数据库而不是电子表格设计的问题。如果进行了适当的规范化,您可以编写一个简单的SQL查询来给出您的答案。您可以确定它们的数量。获取它们的ID列表是为关系数据库而不是电子表格设计的问题。:DSo现在唯一的问题是计算出生日期之前发生的次数,而不是计算个体,因为每个个体都有多个测量值。嗯?我的公式还检查他们是否与被检查者有相同的母亲和性别。我的公式也检查相同的母亲id和个体的性别,但假设我们使用的是id我上面提供的例子中的数字2。如果1=男性,0=女性,它将报告id#2有3个哥哥而不是1。哦,重复了相同的id。我认为每行代表不同的人。抱歉,必须更正我的公式…更正。