网站搜索

如何像软件开发人员一样给 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,可以为您和其他用户提供即时导航,从而带来精致的“应用程序”体验。

工作表标签通常不需要前缀,因为它们的名称和位置已经表明了它们的作用,就像文件夹一样。

如何命名表格和标签

要重命名表,您首先必须创建一个表:

  1. 选择你的数据,然后在插入选项卡中点击表格,或按下Ctrl+T。
  2. 在对话框中,选中我的表格有标题,然后单击确定。
  3. 选择表中的任意单元格,然后在功能区的表设计选项卡中,在左侧的表名框中输入类似tbl_Costs的名称,并按下回车。




重命名工作表标签要简单得多:

  1. 双击工作簿底部的选项卡。
  2. 输入一个功能名称,比如 仪表板 或 输入。

为单元格和区域命名以消除“魔法数字”

声明你的常量

开发人员绝不会把像 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 一次,你就会意识到它有多么有用(而且非常简单):

  1. 在公式选项卡中,点击名称管理器。
  2. 在 名称管理器 对话框中点击 新建。
  3. 在 Name 字段中,输入您的函数名称(例如 fn_GetNet)。
  4. 在 指的是 中,按照以下语法编写你的 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 函数:

  1. 输入 LET( 来开始你的公式。
  2. 定义一个或多个名称-值对。
  3. 编写返回公式结果的最终计算。

以下 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 公式,以实现逻辑的完全透明呢?很快,你就会拥有一个真正经得起时间考验的工作簿。

相关文章