Excel公式中是否有variables?
我讨厌重复函数,特别是在Excel公式中。 有什么办法可以避免像这样的事情:
(A1,B:B,1,0)VLOOKUP(A1,B:B,1,0) – 10,VLOOKUP
[以上只是这个问题的一个简单的例子,而不是我正在使用的一个特定的公式。]
您可以为公式的VLOOKUP部分定义一个名称。
- 突出显示包含此公式的单元格
- 在插入菜单上,去名称,然后单击定义
- 为你的variablesinput一个名字(例如'Value')
- 在Refers To框中,input您的VLOOKUP公式:
=VLOOKUP(A1,B:B, 1, 0)
- 点击添加,然后closures对话框
- 在您的原始公式中,将VLOOKUP零件replace为您刚定义的名称:
=IF( Value > 10, Value - 10, Value )
步骤(1)在这里很重要:我想在第二行,你想让Excel使用VLOOKUP(A2,B:B, 1, 0)
,第三行VLOOKUP(A3,B:B, 1, 0)
等步骤(4)通过使用相对引用( A1
和B: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,然而,似乎总是将单元格名称与单元格引用一起存储。 但是,我认为如果您删除“”引号中的工作表名称,但保留“!”,则可能有效。