gpt4 book ai didi

Excel Min 函数不起作用

转载 作者:行者123 更新时间:2023-12-04 21:04:41 25 4
gpt4 key购买 nike

我有一个数组,我试图返回与输入 O12 的引用号相对应的最大和最小时间。

我想要它,这样当我在 O12 中输入 10 时,我的 max 函数给我 3:00,我的 min 给我 1:00

A-----B-----C

10----------1:00

10----------3:00
{=MAX(INDEX((A6:A200=O12)*(C6:C200),0))}
{=MIN(INDEX((A6:A200=O12)*(C6:C200),0))}

我的 max 函数完美运行并返回最高数字,但我的 min 函数始终显示为零。

最佳答案

当您使用此“产品”版本时,与 IF 语句相反,您的两个测试中的任何一个返回 FALSE 的任何行都将生成零结果。这是因为,当取 bool 值的乘积时,TRUExFALSE=0 和 FALSExTRUE=0。因此,传递给 MIN 的数组可能包含许多零,从而导致不良结果。

使用 IF 语句,必须在数组公式中,这些相同的行被分配一个 bool FALSE,而不是零。而且,由于 MIN 忽略了 bool 值,因此这种设置保证了正确的结果。

作为说明,仅考虑 A6:C10 的范围,假设我们有以下值:

O12: "X"

A6: (空白)
A7: (空白)
A8: "X"
A9: (空白)
A10: "X"

C6: 74
C7: 64
C8: 99
C9: 58
C10: 65

非数组公式:

=MIN(INDEX((A6:A10=O12)*(C6:C10),0))

将解析为:
=MIN(INDEX(({"";"";"X";"";"X"}=O12)*(C6:C10),0))

这是:
=MIN(INDEX(({FALSE;FALSE;TRUE;FALSE;TRUE})*(C6:C10),0))

IE。:
=MIN(INDEX({0;0;99;0;65},0))

(由于 C6、C7 和 C9 中的值乘以 FALSE,它们的乘积为 0。)

IE。:
=MIN({0;0;99;0;65})

这显然是0。

但是,等效的数组公式:
=MIN(IF(A6:A10=O12,C6:C10))

解析为:
=MIN(IF({"";"";"X";"";"X"}=O12,C6:C10))

这是:
=MIN(IF({FALSE;FALSE;TRUE;FALSE;TRUE},C6:C10))

IE。:
=MIN(IF({FALSE;FALSE;TRUE;FALSE;TRUE},{74;64;99;58;65}))

IE。:
=MIN({FALSE;FALSE;99;FALSE;65})

根据需要,这次是 65。

如果您真的不想使用数组公式(尽管我不明白为什么会这样 - 除了需要按键组合之外,许多人似乎没有意识到这种使用插入(附加) INDEX 函数并不比数组设置更有效) 然后,如果您有 Excel 2010 或更高版本,则可以使用 AGGREGATE,即:
=AGGREGATE(15,6,C6:C10/(A6:A10=O12),1)

问候

关于Excel Min 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26537100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com