【问题标题】:Find min value in group and don't count 0s as values if there're other values also in the same group in Excel查找组中的最小值,如果 Excel 中的同一组中还有其他值,则不要将 0 计为值
【发布时间】:2017-08-16 13:37:11
【问题描述】:

我需要在每个组中找到最小年份值(分组因子是 ID)。当组中只有年份值“0”时,最小结果将为“0”,但当还有其他年份值(例如 1997、0、2002)时,我需要省略“0”并找到下一个最小值(在这个例子中应该是 1997,而不是 0)。

例如,如果我有这些数据:

ID      year    
170946  1960    
170946  1960    
170950  0       
170950  0       
170952  1905    
435041  1990    
435041  1995    
435046  0       
435046  1995    
435046  2002    

然后我希望新列看起来像这样:

ID      year    MIN
170946  1960    1960
170946  1960    1960
170950  0       0
170950  0       0
170952  1905    1905
435041  1990    1990
435041  1995    1990
435046  0       1995
435046  1995    1995
435046  2002    1995

有人可以帮帮我吗?

【问题讨论】:

  • 你不能删除零数据,或者用撇号(')代替它们吗?

标签: excel group-by min


【解决方案1】:

你可以在C2中使用这个数组公式

=MIN(IF(A$2:A$100=A2,IF(B$2:B$100<>0,B$2:B$100)))

CTRL+SHIFT+ENTER确认并复制下来

见下文

【讨论】:

  • 它有效,但在我确认之前没有。顺便说一句,确认是做什么的?
  • 它将公式设置为“数组公式”。如果您查看公式编辑栏,它会在公式的开头和结尾添加{ }(如果您键入它们并按下单个Enter,这将不起作用。它只能这样工作!
【解决方案2】:

您必须使用带有IFMINSMALL 的数组公式,如下所示:

=SMALL(IF(A:A=A2,B:B),IF(MIN(IF(A:A=A2,B:B))=0,2,1))

尝试按Ctrl + Shift + Enter 而不是单个Enter

【讨论】:

    猜你喜欢
    • 2021-10-27
    • 1970-01-01
    • 2020-05-02
    • 2019-03-12
    • 2018-09-24
    • 2019-12-04
    • 2020-02-21
    相关资源
    最近更新 更多