我想根据类型(第 1 列)找到数量的最小值和最大值(第 2 列),是否可以这样做?
我试过这个,但结果出乎意料 类似的问题
假设您上面的数据在 A2:B13 中,这有效:
=MAX(IF(A2:A13="A",1,0)*(B2:B13))
=MAX(IF(A2:A13="B",1,0)*(B2:B13))
=MAX(IF(A2:A13="C",1,0)*(B2:B13))
将公式输入单元格时,必须按 ctrl+shft+Enter。这将查找所有带有 、 或 的行,A
如果B
该字母与您的公式匹配,则与它旁边的值C
相乘,如果它不匹配。然后你取的值。1
0
MAX()
<<< 编辑 >>>
正如@GSerg 建议的那样,如果在将它们输入每个单元格时按 ctrl+shft+Enter ,您也可以使用这些公式:
=MAX(IF(A:A="A",B:B))
=MAX(IF(A:A="B",B:B))
=MAX(IF(A:A="C",B:B))
一种更优雅的方式!
@JamesL 的解决方案在尝试时对我来说总是为零
=MIN(IF(A2:A13="A",1,0)*(B2:B13))
如果我为错误结果设置了一个任意大的数字,那么它就起作用了
=MIN(IF(A2:A13="A",1,99999)*(B2:B13))
但是,@GSerg 的优雅解决方案也适用于最小值:
=MIN(IF(A:A="A",B:B))
这在没有 ctrl+shift+enter 的情况下有效,但您的表应按 TYPE 列排序。
假设你的桌子放在 B3:C15,然后放在 A4
=IF(B4=B3;A3;A3+1)
在 E4 - “1”,在 E5 - “2”,在 E6 - “3”,在 F4 中输入:
=MAX(INDIRECT("C" & MATCH(E4;$A$1:$A$17;0) & ":C" & MATCH(E4;$A$1:$A$17;1) ))
并将其复制到 F5 和 F6
在 G4 中:
=MIN(INDIRECT("C" & MATCH(E4;$A$1:$A$17;0) & ":C" & MATCH(E4;$A$1:$A$17;1) ))
并将其复制到 G5 和 G6
MATCH 函数处理字符串不正确,所以我必须对 TYPE 进行编号,您可以使用 VLOOKUP 将 E 列中的数字更改为字符串
在我的表中,我使用此解决方案以这种方式查找具有最大值的字符串:
我建议使用=large(if(...=...;...);k)
来解决这个问题。