计算Excel电子表格中较旧的兄弟姐妹的数量

时间:2014-01-09 13:07:09

标签: 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        | 0
2  | 4Sept04        | 21Dec91  | 12        | 0
2  | 1Sept05        | 21Dec91  | 12        | 0
3  | 1Aug03         | 30Jan89  | 23        | 0
3  | 4Sept04        | 30Jan89  | 23        | 0

这是我的数据格式化方式以及我所拥有的一些变量的示例。如您所见,由于它是纵向的,每个人都有多个测量值。在实际数据库中,每个人和超过250个人有超过10个测量值。

我想要做的是输入一个值,表示每个人拥有的哥哥和姐姐的数量。这就是为什么我包括母亲ID(因为它代表遗传相关性)和性别。这些新的变量列只会说明每个人每个性别中有多少兄弟姐妹。有没有一个公式我可以用来快速做到这一点?

=COUNTIFS($B:$B,"<>"&$B2,$H:$H,$H2,$AI:$AI,$AI2,$J:$J,"<"&$J2)

Sample of Data. Column S has the output

3 个答案:

答案 0 :(得分:0)

我有一个可能的解决方案。它涉及添加两列 - 一个用于&#34; #sounds兄弟姐妹&#34;和#34;唯一的?&#34;。所以这是我目前的所有标题:

  • A - ID
  • B - CollectionDate
  • C - DOB
  • D - MOTHER ID
  • E - Sex
  • F - #shis old siblings
  • G - 独特吗?

在G2中,我添加了以下公式:

    =IF(A2=A1,0,1)

拖了下来。只要数据按ID排序,这只会显示&#34; 1&#34;一次为每个独特的人。

在F2中,我添加了以下公式:

    =COUNTIFS(G:G,"=1",D:D,"="&D2,C:C,"<"&C2)

拖了下来。它似乎对您提供的示例数据正常工作。

规定如下:

  • 您需要两列。
  • 数据需要按ID
  • 排序

我希望这会有所帮助。

答案 1 :(得分:0)

使用此公式

创建名为Distinct的列
=1/COUNTIF([ID],[@ID])

然后你可以找到像这样的所有年龄较大的0性兄弟姐妹

=SUMPRODUCT(([DOB]>[@DOB])*([MOTHERID]=[@MOTHERID])*([Sex]=0)*([Distinct]))

请注意,我将数据设为表格并使用表格表示法。如果您不熟悉[COLUMNNAME]引用整列,[@COLUMNNAME]引用当前行中该列的值。它类似于说$ A:$ A和A2,如果你正在处理A列。

第一个公式为您提供一个值,该值将始终为特定ID生成1。所以ID = 1有三条线,而Distinct将导致每条线的.33333。当你将这三行加起来时,你得到1.这类似于Sql用语中的SELECT DISTINCT。

对于DOB大于当前DOB的每一行,SUMPRODUCT公式总和[Distinct],母亲与当前母亲相同,且性别为零。

Excel table showing older sibling formula

答案 2 :(得分:-1)

您需要这样的公式(例如,第2行):

=COUNTIFS($A:$A,"<>"&$A2,$E:$E,$E2,$D:$D,$D2,$C:$C,"<"&$C2)

假设E:E是性别列,D:D是母ID的列,C:C是DOB列。

例如,在H2单元格中编写此公式并将其拖下来。

相关问题