【问题标题】:Selecting the max with a condition in excel在excel中选择带有条件的最大值
【发布时间】:2009-08-13 21:45:36
【问题描述】:
【问题讨论】:
标签:
excel
worksheet-function
【解决方案1】:
SUMIF 在 Excel 中的等价物是这样的:
{=MAX(IF(CategoryColumn="High",ValueColumn,"")}
在哪里
-
CategoryColumn 是包含您的类别的列(例如,“低”、“中”、“高”)
-
ValueColumn 是包含要获取最大值的数据的列
注意:这是一个数组公式,因此您在输入此公式时必须按Ctrl-Shift-Enter,而不仅仅是Enter。另外,实际上不要输入大括号{}。大括号会自动显示,表示您已输入数组公式。
注意 2:您实际上可以命名一系列数据。例如,选择范围A1:A20。右键单击并选择“命名范围...”因此,对于本示例,您可以选择类别列并将其命名为 CategoryColumn。与ValueColumn 相同。
数组公式允许您对整个数据范围执行IF 语句和其他函数,而不仅仅是单个值。
此示例检查“类别列”中的值是否为“高”。如果是,则将相邻的“值”放入MAX 函数中,否则放入空白。这会为您提供所有“高”值中的最大值。
附:我认为 img 标记在此站点上不起作用...看不到您的图像。
【解决方案2】:
提供三个选项。
我的首选选项是创建没有辅助列的数据透视表。
为您的数据创建一个数据透视表。
将行设置为日期字段并按年份分组。
或者,可以通过添加具有此公式的列来使用“年份”辅助列。
=YEAR(A2)
将数据透视表的数据项值部分设置为“高”字段的 MAX
使用公式添加标题为 year 的帮助列
=YEAR(A2)
然后为每一年添加一个公式
=DMAX(A1:C21,"High",F13:F14)
使用 Ctrl-Shift-Enter 键为每年输入一个数组公式。
{=MAX(IF(YEAR(A2:A21)=2008,B2:B21))}