所以我得到了一个 Excel 表,其中列出了(除其他信息外)组织及其活跃的年份。有些组织每年活跃不止一次。它看起来像这样:
年份 -- 组织
2015 --- 组织 A
2015 --- 组织 A
2015 --- 组织 B
2014 --- 组织 C
2014 --- 组织 C
2013 --- 组织 D
2013 --- 组织 D
我正在尝试找出一个公式来计算独特的每年活跃的组织(例如:2015 年为 2 个,2014 年为 1 个,2013 年为 1 个)。
我尝试过的方法:在 C 中创建了一个新列,并在每一行中输入了以下公式:
=COUNTIF($B$2:B*X*,B*X*)=1
X = 2(B2),在第一行,然后每行增加 1(例如 B2、B3、B4)这将输出该组织是否第一次活跃(是/否)。
然后,我可以创建一个简单的 COUNTIF 公式来计算某个组织活跃的次数。但问题是,这指的是该组织是否活跃在所有年份多次,不是每年一次。
为每一年编写上述函数是不可能的,因为工作表应该是某种“自我维持”的,因为它是一个需要适应未来几年的持续列表。
我觉得这可以用数组公式和 IF 函数来解决,但我不确定如何...任何意见都将不胜感激!(:
答案1
我发现没有人回答这个问题,这很奇怪...好吧,那我就试试。
好的,如果您不喜欢数据透视表,我可以向您推荐几个不使用它们的解决方案。
第一种方式
先决条件是您拥有所有可能的组织名称的列表以及您想要检查活跃的唯一组织数量的所有年份的列表。
在我展示的例子中,我将您的列表放在 A 列(范围A1:A7
),将范围内可能的组织名称列表C2:C5
和从 2013 年到 2015 年的年份放在D1
单元格中F1
。
现在您已经掌握了这些信息,您可以按照以下步骤获取您需要知道的信息:
输入 然后复制公式直到。这将创建一个由 0 和 1
D2
组成的网格,其中 1 表示该组织在参考年份处于活跃状态,而 0 表示不活跃。=IF(IFERROR(MATCH(CONCATENATE(D$1," --- ",$C2),$A$1:$A$7,0),0)>0,1,0)
F5
然后您需要做的只是从 D 到 F 在第 6 行中获得总和(只需输入
=SUM(D2:D5)
然后D6
复制公式直到F6
)。
否则,如果你不需要或不想要网格,你可以使用 CSE/数组公式(可以找到一些链接来了解有关它们的更多信息我的另一个答案)。
在示例中,D7
我写道,=SUM(IF(IFERROR(MATCH(CONCATENATE(D$1," --- ",$C2:$C5),$A$1:$A$7,0),0)>0,1,0))
然后按ctrl+ shift+enter并复制公式,直到F7
。
(请注意,在这种情况下,步骤 1 和 2 根本就没有必要获得所需的结果。)
第二种方式
最后,如果您无法轻松获取所有组织的列表,假设您只能编制您感兴趣的年份的列表,那么可能的解决方案可能是以下:
- 选择所有数据范围(在我的示例中是
A1:A7
),然后转到“数据”集并选择“删除重复项”。
在此示例中,只应保留 4 行,并且它们将是year --- organization name
(删除重复项的工作原理示例),因此现在我们可以简单地“计算”一年在剩余行数据范围内出现的次数。删除重复项后剩余的行数并不重要,因为我们将假设整个 A 列为数据范围。
- 因此,删除重复项后,剩下要做的就是使用公式(例如,
D8
然后复制到F8
)=COUNTIF($A:$A,CONCATENATE(D$1," --- *"))
(请注意,公式中的星号是 Excel 通配符,可以在以下链接中了解更多信息我之前提到的另一个答案)
就是这样。