我有这个公式
=ROUNDUP(D12/(D6-D5),IFERROR(VLOOKUP(G9,reference!$C$2:$D$7,2,0),100))
并且我想ROUNDUP
根据来自单独单元格的文本更改部分(例如,,F7
其中文本可以是 ROUNDDOWN
或 ROUND
)。
我尝试使用SUBSTITUTE()
和REPLACE()
函数。以下是我的几次尝试:
=REPLACE("=ROUNDUP(…)",2,7,F7)
*
=REPLACE(ROUNDUP(…),2,7,F7)
*此版本最终创建了正确的公式,但它显示为文本,而不是公式。我可以将其粘贴到另一个单元格中,它可以正常工作。所以我尝试*1
在此公式中添加,但仍然不起作用。
一种解决方法是使用嵌套IF
,但这会创建太多行,所以我希望有另一种选择。
答案1
您可以使用CHOOSE
和MATCH
功能,虽然仍然不是最佳的,但比以下更好IF
:
=CHOOSE(MATCH(F7,{ROUND,ROUNDUP,ROUNDDOWN},0),ROUND(D12/(D6-D5),ROUNDUP(D12/(D6-D5),ROUNDDOWN(D12/(D6-D5))