如何使用Excel在公式中引用值而不是公式?
在Microsoft Excel 2010/2013中,我有五个数据列,如下所示:
| A | B | C | D | E | ------------------------------ line 1 | 12| 7| 1.71| 5| 8.57| C1: it's a formula ==> A1/B1, and it's formatted as two decimal places.
然而, E1
( C1*D1
)的公式是8.57而不是8.55,我发现Excel使用C1的公式而不是显示的值,这不是我的期望!
那么如何强制Excel使用单元格的值(显示)而不是公式来计算另一个公式?
注意:我可以在E1
使用下面的公式:
ROUND(C1,2)*D1
…但我想要一个解决scheme,直接获取显示值,而不是格式化C1
两次。
我想这是问题的实际答案:
=D1*VALUE(TEXT(C1,"#."&REPT(0,RIGHT(CELL("format",C1),1))))
即使用CELL函数来找出有多less位数被格式化,然后创build一个具有这个小数位数的格式,并在TEXT函数中使用它来获取C1中的数字与显示的位数。
不pipe你是否想要这样做,当然是另一回事。
CELL的缺点是,如果您在C1中更改数字的格式,则不会更新,直到您重新计算电子表格。
VALUE可以省略,因为乘法将把string“1.71”强制为一个数字: –
=D1*TEXT(C1,"#."&REPT(0,RIGHT(CELL("format",C1),1)))
这是对单元格内容的访问,因为原来的问题是如何访问该值而不是生成该值的公式:
=CELL("contents",$C$1)