【问题标题】:Excel formula building using formula使用公式构建Excel公式
【发布时间】:2018-03-13 23:37:08
【问题描述】:

我在 excel 中有一个非常尴尬的问题。很难用文字准确地解释它,所以我将使用一个简单的例子来解决同样的问题:

我在单元格中写的单词如下:

A1   A2    A3  A4

Cat  HAZ  ARD  ?

现在在单元格 A4 中,我想在 A2 和 A3 上使用连接公式来获得 HAZARD;但我想使用 A1 中的“猫”来构造公式,例如="con"&A1&"enate"(A2,A3)

理想情况下,这应该转换为=concatenate(A2,A3),但它给了我错误。

有什么解决方法吗?

【问题讨论】:

  • 你在这里的实际用途是什么——你为什么要尝试构建函数名称而不是仅仅将它们作为普通函数输入?也许有更好的方法来实现您的最终目标。
  • 原生 excel 函数无法做到这一点。但是您可以创建一个评估字符串的 UDF(使用 Evaluate)
  • 这篇旧帖子可能对您有所帮助,这里是link.

标签: excel formula


【解决方案1】:

也许宏可以处理这个任务。

Private Sub Worksheet_Change(ByVal Target As Range)
    If UCase(target.Value) = "CAT" Then
        target.Offset(0, 3) = target.Offset(0, 1).Value & target.Offset(0, 2).Value
    End If
End Sub

这个宏的作用是:每当一个单元格在工作表上的任何位置显示“cat”或“Cat”或“CAT”的值时,程序都会识别这一点,并在右侧的第三个单元格中合并第一个和右边的第二个单元格。

如果您以前从未使用过宏,请私信我,我将引导您完成整个过程;但是我敢肯定,一旦你对宏有好处,你就会想出比这更好的懒惰快捷方式。

干杯

【讨论】: