如何像软件开发人员一样给 Excel 对象命名
在 Excel 中,未命名的东西可以工作,虽然没人知道为什么。但一旦你给工作簿的所有元素赋予可识别的标签,你立刻就成为了开发者,而不仅仅是普通用户。正确命名可以减轻心理负担,使公式保持整洁,并让调试速度提高十倍。所以,停止猜测,开始编程吧。
建立你的语法
选择开发者级规范
软件开发人员使用一致的模式,以便他们的代码在成千上万行中都易于阅读。在 Excel 中,规则很简单:已定义的名称不能包含空格,必须以字母或下划线开头,并且不能看起来像单元格引用(例如 A1 或 R1C1)。
为了保持一致性并避免名称中的空格,你可以使用两种标准样式之一:
- snake_case 在单词之间使用下划线。
- CamelCase 将每个单词的首字母大写。
有些用户也采用前缀命名方式,类似于匈牙利命名法,因此可以一眼识别对象类型:
|
物体 | 前缀 |
|---|---|
桌子 | t_ 或 tbl_ |
单一数值 | val_ 或 const_ |
范围 | rng_ 或 arr_ |
函数 | fn_ 或 fx_ |
|
局部变量 | 变量_ |
当你输入公式时,Excel 的公式自动完成会显示一个命名对象的下拉列表。由于你使用了像 tbl_ 或 const_ 这样的前缀,你只需输入前几个字母就可以筛选整个工作簿的逻辑,然后选择你想要使用的对象。
将表格和制表符用作功能模块
组织你的数据架构
开发者根据代码在系统中的作用将其组织到文件夹和类中。在 Excel 中,你的标签页就是你的文件夹,你的表格就是你的数据对象。通过为它们命名,你创建了一个结构化的环境,每个组件都有已知的地址。
给表格命名——使用与定义名称相同的命名规则——是清理公式最有效的方法之一。当你引用命名表格时,Excel 会使用结构化引用(如 tbl_Sales[Revenue]),这使你的公式更容易审查,并且在整个工作簿中更易识别。此外,公式在引用表格时通常不需要包含工作表名称。
重命名工作表标签对于工作簿的“用户界面”同样至关重要。清晰、实用的标签名称,如Data_entry或LogicEngine,可以为您和其他用户提供即时导航,从而带来精致的“应用程序”体验。
工作表标签通常不需要前缀,因为它们的名称和位置已经表明了它们的作用,就像文件夹一样。
如何命名表格和标签
要重命名表,您首先必须创建一个表:
- 选择你的数据,然后在插入选项卡中点击表格,或按下Ctrl+T。
- 在对话框中,选中我的表格有标题,然后单击确定。
- 选择表中的任意单元格,然后在功能区的表设计选项卡中,在左侧的表名框中输入类似tbl_Costs的名称,并按下回车。
重命名工作表标签要简单得多:
- 双击工作簿底部的选项卡。
- 输入一个功能名称,比如 仪表板 或 输入。
为单元格和区域命名以消除“魔法数字”
声明你的常量
开发人员绝不会把像 0.08 这样的值硬编码到 50 行代码中——他们会声明一个全局常量。然后,如果税率发生变化,他们只需在一个地方更新它。在 Excel 中命名单元格可以创建这种可重用的引用。
使用像 const_TaxRate 或 rng_price_list 这样的名称为你的公式创建了清晰的指示,消除了“魔法数字”——公式中没有上下文的值。一个写着 =[@Price]*const_TaxRate 的公式比写着 =[@Price]*0.08 的公式逻辑上要清晰得多。
如何命名单元格和区域
要为单元格或区域命名,请选中它,在名称框中输入您决定使用的名称,然后按回车。如果您有一列标签紧挨着一列数值,请同时选中两列,然后在公式选项卡中点击从选择创建,以同时应用多个名称。
使用 LAMBDA 函数来构建自定义库
将逻辑视为可重用的代码
一个优秀开发者的标志是遵循 DRY 原则——不要重复自己。如果你有一个复杂的计算,不要把它复制粘贴到 20 个单元格中,而是使用 LAMBDA 将其封装在一个可重用的函数中。
为你的逻辑命名(例如 fn_ShippingCalc)可以创建一个单一的真实来源。如果运输逻辑发生变化,你只需在名称管理器中编辑该函数一次,整个工作簿就会瞬间被“重构”。本质上,你是在为你的数据构建一个自定义 API。
LAMBDA 函数特定于创建它们的工作簿,但你也可以将它们转移到新文件中。在源工作簿中右键单击 工作表标签,点击 移动或复制,勾选 创建副本,并在 目标工作簿 菜单中选择你的目标工作簿。Excel 会复制被你移动或复制的工作表引用的任何命名项(包括 LAMBDA 函数)。
如何创建自定义 LAMBDA 函数
一旦你使用过 LAMBDA 一次,你就会意识到它有多么有用(而且非常简单):
- 在公式选项卡中,点击名称管理器。
- 在 名称管理器 对话框中点击 新建。
- 在 Name 字段中,输入您的函数名称(例如 fn_GetNet)。
- 在 指的是 中,按照以下语法编写你的 LAMBDA:
=LAMBDA(parameter1, parameter2, calculation)其中参数表示你的函数将接收的输入,最后一个参数是使用这些参数的计算。例如,如果你将函数命名为fn_GetNet,你可以输入:
=LAMBDA(price, rate, price*rate)
现在,您可以像调用标准 Excel 函数一样调用这个自定义 LAMBDA。例如:
=fn_GetNet([@Price],[@Rate])
使用 LET 函数整理杂乱的公式
管理局部变量
在编程中,“局部作用域”是指仅存在于特定函数内的变量。LET 函数是 Excel 中的等效功能。它允许你在单个公式中定义变量,因此无需在一个单元格中重复相同的计算。
LET 提高了可读性和性能。您无需重复多次相同的计算,只需计算一次,然后给它一个名称,例如 var_CurrentRow,并在公式中重用它。
如何创建局部变量
以下是如何在 Excel 中使用 LET 函数:
- 输入 LET( 来开始你的公式。
- 定义一个或多个名称-值对。
- 编写返回公式结果的最终计算。
以下 LET 公式结合了局部变量和常量。Excel 会计算局部 var_Subtotal 变量一次,并使用现有的常量(const_TaxRate、const_ShipThreshold 和 const_ShippingFee)以保持公式的逻辑性和高效性:
=LET(
var_Subtotal, [@Price] * [@Quantity],
var_Tax, var_Subtotal * const_TaxRate,
var_Shipping, IF(var_Subtotal > const_ShipThreshold, 0, const_ShippingFee),
var_Subtotal + var_Tax + var_Shipping
)
在公式栏中输入每个变量后,按 Alt+Enter 将其放在单独的一行。这使公式更容易编写、阅读和解析。
通过像软件开发人员一样给 Excel 对象命名,你可以将一个神秘的数字网格转变为一个可读的专业应用程序。在此过程中,为什么不再更进一步,采用开发人员的思维方式,通过内联代码记录 Excel 公式,以实现逻辑的完全透明呢?很快,你就会拥有一个真正经得起时间考验的工作簿。













