Excel公式中是否有variables?

我讨厌重复函数,特别是在Excel公式中。 有什么办法可以避免像这样的事情:

(A1,B:B,1,0)VLOOKUP(A1,B:B,1,0) – 10,VLOOKUP

[以上只是这个问题的一个简单的例子,而不是我正在使用的一个特定的公式。]

您可以为公式的VLOOKUP部分定义一个名称。

  1. 突出显示包含此公式的单元格
  2. 在插入菜单上,去名称,然后单击定义
  3. 为你的variablesinput一个名字(例如'Value')
  4. 在Refers To框中,input您的VLOOKUP公式: =VLOOKUP(A1,B:B, 1, 0)
  5. 点击添加,然后closures对话框
  6. 在您的原始公式中,将VLOOKUP零件replace为您刚定义的名称: =IF( Value > 10, Value - 10, Value )

步骤(1)在这里很重要:我想在第二行,你想让Excel使用VLOOKUP(A2,B:B, 1, 0) ,第三行VLOOKUP(A3,B:B, 1, 0)等步骤(4)通过使用相对引用( A1B:B )而不是绝对引用( $A$1$B:$B )来实现。

与variables无关,你的例子也将被MOD解决:

 =Mod(VLOOKUP(A1, B:B, 1, 0);10) 

您可以将中间值存储在单元格或列中(如果您select,可以将其隐藏起来)

 C1: = VLOOKUP(A1, B:B, 1, 0) D1: = IF(C1 > 10, C1 - 10, C1) 

两个选项:

  • VLOOKUP函数在它自己的单元格中: =VLOOKUP(A1, B:B, 1, 0) (比方说C1),然后参考C1: =IF( C1 > 10, C1 - 10, C1 )
  • 创build一个UDF:
 Function MyFunc(a1, a2, a3, a4) Dim v as Variant v = Application.WorksheetFunction.VLookup(a1, a2, a3, a4) If v > 10 Then MyFunc = v - 10 Else MyFunc = v End If End Function 

没有办法在Excel的公式栏中定义一个variables。 作为一种解决方法,您可以将该函数放置在另一个单元格中(可选地隐藏内容或将其放置在单独的表单中)。 否则,你可以创build一个VBAfunction 。

是。 但不直接。

更简单的方法

  • 您可以在一个单元格中发布Vlookup(),并在需要的地方使用它的地址。 – 这也许是在Excel中使用variables的唯一直接方式。

要么

  • 你可以在VBEmacros中定义Vlookup(reference)-10作为包装函数。 按下Alt + f12并使用该function

我知道这是一个小题目,但随着JonasBöhmer提出的解决scheme,实际上我认为MOD是你的例子的最佳解决scheme。

如果你的意图是将结果限制在一位数,MOD是实现它的最好方法。

即。 假设VLOOKUP(A1,B:B,1,0)返回23.您的IF公式将简单地进行计算:23 – 10并返回13作为结果。

另一方面,MOD(VLOOKUP(A1,B:B,1,0),10)将23除以10,并显示余数:3。

回到主题,当我需要使用一个重复某个部分的公式时,我通常把它放在另一个单元格上,然后像一些人已经build议的那样隐藏它。

定义一个包含查找的NAME是一个简洁的解决scheme,然而,似乎总是将单元格名称与单元格引用一起存储。 但是,我认为如果您删除“”引号中的工作表名称,但保留“!”,则可能有效。