MIN/MAX 应用于数组的 LET 函数的奇怪行为
Strange behavior of LET function with MIN/MAX applifed to an array
假设单元格 A1:C1 包含
100, 300, 40
当A2包含:
=LET(x,A1,x*2)
并复制到 B2:B3,输出为 200,600, 80
,正如预期的那样。
如果A2包含
=LET(x,A1,MIN(x,150))
又复制了一遍,输出结果是100, 150, 40
,也符合预期。
现在转向范围符号,如果 A2 包含
=LET(x,A1:C1,x*2)
输出溢出到 B2:B3 - 200,600, 80
,再次如预期。
但是,如果 A2 包含
=LET(x,A1:C1,MIN(x,150))
输出没有溢出,A2 是 40
!
MAX、SUM等和Excel的桌面版和网页版效果相同。
这是错误还是我做错了什么?
MIN、MAX、SUM 和其他允许使用数组作为输入和 return 单个数字。
在这种情况下,只需使用一个简单的 IF()
即可实现所需的功能:
=LET(x,A1:C1,y,150,IF(x<=y,x,y))
假设单元格 A1:C1 包含
100, 300, 40
当A2包含:
=LET(x,A1,x*2)
并复制到 B2:B3,输出为 200,600, 80
,正如预期的那样。
如果A2包含
=LET(x,A1,MIN(x,150))
又复制了一遍,输出结果是100, 150, 40
,也符合预期。
现在转向范围符号,如果 A2 包含
=LET(x,A1:C1,x*2)
输出溢出到 B2:B3 - 200,600, 80
,再次如预期。
但是,如果 A2 包含
=LET(x,A1:C1,MIN(x,150))
输出没有溢出,A2 是 40
!
MAX、SUM等和Excel的桌面版和网页版效果相同。
这是错误还是我做错了什么?
MIN、MAX、SUM 和其他允许使用数组作为输入和 return 单个数字。
在这种情况下,只需使用一个简单的 IF()
即可实现所需的功能:
=LET(x,A1:C1,y,150,IF(x<=y,x,y))