使用唯一的ID计算每行的值
我在表中有一堆行。每一行反映患者的事件。但是,一名患者可能经历过多次事件,因此可能有多行患者编号相同。现在我想对我的数据库中男性患者的数量进行计数,而不计算多次发生多次事件的患者数量。每位患者都由一个可用于此的独特患者标识进行标识。使用唯一的ID计算每行的值
这不应该是复杂的,如果不是因为我使用的表也具有多个过滤器,所以我需要使用SUBTOTAL
作为任何计数函数。
我从字面上不知道从哪里开始,所以我不能提供任何代码... 任何可能将我指向正确方向的功能将不胜感激。
感谢您的帮助。
〜劳伦斯
要获得唯一ID的数量在同一列,如果ID是数字,你可以使用SUM
与FREQUENCY
:
=SUM(IF(FREQUENCY($A$1:$A$1000,$A$1:$A$1000)>0,1))
如果他们的文字和数字混合,你可以得到的唯一ID与这一个:
=SUM(IF(FREQUENCY(MATCH($A$1:$A$1000,$A$1:$A$1000,0),MATCH($A$1:$A$1000,$A$1:$A$1000,0))>0,1))
(从here)
使用数据透视表来筛选和计算您的所有患者数据库。选择您的数据,然后选择插入 - >表格 - >数据透视表。将过滤器放在表格的“过滤器”部分和“行”部分的患者ID中。然后,您可以使用COUNT来获取患者人数。 有关数据透视表的更多信息,你可以检查此:https://support.office.com/en-us/article/Create-a-PivotTable-to-analyze-worksheet-data-a9a84538-bfe9-40a9-a8e9-f99134456576
你没有提到的事件是否是可选的。 您可能想要添加带有1/0的公式如h2 = if(c2 =“”,0,1)的额外列H,并将其与G相乘。
基本上,如果列G包含1,则将其包含在内
修订
表由患者ID进行排序..
病人ID列的变化H中的一个1,否则它将为0。
所以H2是硬编码为1,H3,H4,H6将评估为1
所以现在G2 = H2 * E2等,您可以通过列H. 的映射事物的美成二进制过滤零和一个是你可以做乘法以实现逻辑AND结果,同时将一项复杂任务分解为一系列步骤。然后,您可以对数据应用过滤器以获取列G不为零的行,并查看总计数。通常情况下,我会在第2行的标题和数据之间插入一列,然后让G2 = SUM(G3:G9) 和列H代表患者的数量。
我真的不明白你'在这里做,但如果我看看结果,这不是我想要的,因为我想包括每一位患者一次,无论事件如何,我只需要能够获得平均年龄和数量男性患者,来自事件数据库(而不是患者)。 –
如果我只包括G列中有1的患者,则只包括患者1,而我想得到:有2个男性和2个女性。 –
因此,“不计算多次事件多次的事件”并不是正确的措辞......将在一秒内发布第二个链接 – JGFMK
看到这个答案︰https://stackoverflow.com/questions/20883272/excel-2010-count-unique-values-only-in-a-subtotal-cell –