我将稍微简化一下,希望能找到我问题的症结所在。
我有一个电子表格,其中一个单元格有一个庞大的公式。(再次,我正在简化以避免一个太长没人会读的问题)。
在最后一刻,引入了一个新变量。如果此新变量小于该公式的值,则该公式应改为返回此新变量。
这是 MIN() 函数的完美使用,但我在让 MIN() 函数使用复杂公式(其中包含许多 IF 语句)作为其参数之一并将数据范围作为另一个参数时遇到了挑战。
例如,这不起作用:
MIN(NEW_DATA_RANGE,IF(x=y/pi...))
whereNEW_DATA_RANGE
是包含新变量的数据范围。
如果我NEW_DATA_RANGE
用文字常量替换,它可以正常工作。同样,如果我用文字常量替换公式,它工作正常。但是,当我尝试获取数据范围中的值和复杂公式的 MIN() 时,LibreOffice 总是返回零 (0)。
这可能是 LibreOffice Calc 中的一个错误,还是有某些原因您不能使用数据范围和复杂公式作为 MIN() 函数的参数?
尽管文档对此不是很具体,但 MIN() 需要一个单元格范围或一个值列表作为参数。当您的函数返回一个值时,MIN() 的其他参数也必须是值。因此,您需要将 NEW_DATA_RANGE 作为参数传递给另一个返回值的函数。例如。
如果 NEW_DATA_RANGE 可以包含一个空单元格
我会用用户定义的函数替换 IF(...) 。