Excel:如何在一个单元格中声明变量,并在另一个单元格中定义它们?

时间:2011-03-30 18:09:14

标签: excel worksheet-function

是否可以在一个单元格中的公式中声明变量,然后在另一个单元格中定义变量,其中还必须显示第一个单元格中的formulr的结果。

实施例: 单元格A1中的公式:
(= X + Y)。
细胞A2的结果:
A1公式的结果必须在A2中显示 两个A1公式变量的定义,f.ex。 “X = 5”和“Y = 3”也必须放在A2中 结果:
A2:“= A1的结果,提供x = 3且y = 5”

在屏幕上看起来像这样:
(A1 = ?????)和
(A2 = 8)

1 个答案:

答案 0 :(得分:2)

您可以通过使用VBA将其作为文本写入另一个单元格(A1 )来为一个单元格(A2)定义公式。基本思路是:

Range("A2").Formula = "=" & Range("A1").Value

请记住,不要在A1中的公式前写“=”,否则将在那里评估公式。诀窍在于这样做时公式将被视为普通文本。因此,当从A1中的文本中分配时,必须将“=”放在公式前面。

[EDIT1]我的问题出错了。这是另一种尝试:

为了能够使用您在SAME单元​​格中提供的“变量”作为结果,您必须:

  • 从A2中的文本中提取“变量”(例如RegEx)
  • 将A1中的变量名替换为A2中找到的变量的值,并将其存储在临时字符串变量(formula_string)中
  • 评估公式并根据您的模式

    设置A2的值/文本

    范围(“A2”)。值=“结果:”&评估(formula_string)& “使用&范围(”A2“)。值

我没有擅长尝试,但我认为你理解我的意思。

[EDIT2]根据您的评论,另一次尝试:

如果您使用以下方法,可以省去很多麻烦:

假设您有垂直(从上到下)和水平月份(从左到右)的年份

  • 写下矩阵左侧的年份“数字”
  • 在矩阵上方写下“数字”
  • 现在你可以在一个单元格中编写公式,然后将其“拖”到其他单元格中, 你只需要“固定”月份的行和年份的列(你可以通过在想要固定的维度前面写一个$ -Sign来实现这一点

我希望这就是你想要的。