%20%E5%87%BD%E6%95%B8%E7%9A%84%E5%8F%83%E6%95%B8%EF%BC%9F.png)
我要簡化一下一點點希望能找到我問題的癥結所在。
我有一個電子表格,其中的單元格有一個巨大的公式。 (再次,我正在簡化以避免出現太長而沒有人會閱讀的問題)。
在最後一刻,引入了一個新變數。如果這個新變數小於該公式的值,則該公式應傳回這個新變數。
這是 MIN() 函數的完美使用,但我在讓 MIN() 函數使用複雜公式(其中包含許多 IF 語句)作為其參數之一併使用資料範圍作為另一個參數時遇到了挑戰。
例如,這不起作用:
最小值(NEW_DATA_RANGE,IF(x=y/pi...))
其中NEW_DATA_RANGE
是包含新變數的資料範圍。
如果我NEW_DATA_RANGE
用文字常數替換,它就可以正常工作。同樣,如果我用文字常數替換公式,它也可以正常工作。但是當我嘗試取資料範圍內的值的 MIN() 時和一個複雜的公式,LibreOffice 總是會傳回零 (0)。
這可能是 LibreOffice Calc 中的錯誤,還是有某種原因導致您無法使用資料範圍和複雜公式作為 MIN() 函數的參數?
答案1
儘管文件對此不是很具體,但 MIN() 需要一個單元格範圍或一個值清單作為參數。當您的函數傳回一個值時,MIN() 的其他參數也必須是值。因此,您需要將 NEW_DATA_RANGE 作為參數傳遞給另一個傳回值的函數。例如。
=MIN(MIN(NEW_DATA_RANGE),IF(x=y/pi...))
如果 NEW_DATA_RANGE 可以包含空白儲存格
=IF(ISEMPTY(A),IF(x=y/pi...),MIN(MIN(A),IF(x=y/pi...)))
我將用使用者定義的函數取代 IF(...)。