如何让Excel一个单元格里面输入计算式,在另一个单元格显示结果。

用宏表函数EVALUATE的时候,下拉只等于第一个的结果,请问是什么原因?

这要用到宏表函数EVALUATE,请参照下面的内容进行学习。

选中该单元格---按下CTRL+F3----输入你要定义的名称比如 AAA -----引用位置处输入比如是: =EVALUATE(A1)

在要出计算值的单元格输入公式 =AAA

假设是要整列如此,如下图

B1中输入  =AAA  ä¸‹æ‹‰å°±èƒ½å®žçŽ°äº†

追问

这个我知道。我现在的问题是,下拉的时候,显示的是等于第一个单元格的结果,不自动变

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-30
两种做法:
正向做,输入完公式,前面加一个 ',就会显示公式
在后一个单元格显示数值就需要配合VBA
代码放到Sheet1中的VBE中
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Set rng = Sheet1.Range("A1")
If Not Application.Intersect(Target, rng) Is Nothing Then
Range("B1").Value = Application.Evaluate(Range("A1").Value)
End If
End Sub

反向做法:

在后一个单元格写公式,在前一个单元格提取后一个单元格的公式
提取公式可以使用VBA函数,代码放在模块中
Function Hasf(rng As Range)
If rng.HasFormula Then
Hasf = rng.Formula
Else
Hasf = ""
End If
End Function

或者用宏表函数:定位到B1,Ctrl+F3定义一个名称 公式
引用位置写为 =Get.Cell(6,B1)
然后在前一个单元格A1写入 =公式
相似回答