网站搜索

5 个 Excel MAP 函数大放异彩的真实案例


如果您使用的是 Microsoft Excel 365、2021 或 2024,那么您可以使用动态数组函数。这些函数由于其“溢出”功能,大大提高了生产力。这意味着一个动态数组函数可以返回多个结果,并自动填充到相邻的单元格中,从而简化了复杂的数组操作。Excel 专业人士广泛使用的一个函数是 MAP 函数。

具体来说,我想强调一些真实的例子,展示 MAP 函数的强大之处。可能会有些令人困惑,因为你需要将它与 LAMBDA 函数一起使用。然而,一旦你看到它在实际中的运作方式,你就会意识到 MAP 函数可以为你节省大量时间。如果你处理很多重复性任务,这一点尤其适用。

多列逻辑

在单个公式中处理多个数组

MAP 函数的一个常见用例是创建多列逻辑。一个公式可以一次处理多个数组。这意味着你不再需要依赖传统的向下填充方法,即在一行中输入公式然后向下拖动以填充其余部分。在此过程中,你会创建成千上万个独立公式,这些公式容易出错并可能影响性能。

MAP 函数可以彻底简化这一过程。你可以在单个 LAMBDA 中输入两个或多个数组。这意味着你可以在一个公式中处理复杂的比较,非常适合像库存与补货点、价格与客户类型或重量与运输区域等场景。

在比较库存与再订货点时,使用 MAP 函数的公式会是这样的。MAP 函数会逐行评估每个数组,并使用一个可溢出的单一公式返回结果。

=MAP(B2:B11, C2:C11, LAMBDA(qty, reorder_point, IF(qty = 0, "OUT", IF(qty <= reorder_point, "LOW", "OK"))))

减少错误

纠正错误也更容易

我以前用 Excel 管理过库存,许多企业仍在使用,同时也有像 Zoho 和 QuickBooks 这样的选择。使用 Excel 的方法往往会演变成在表格中填写大量 IF 公式,或者依赖条件格式来提供视觉提示。虽然这些方法有效且更易于使用,但它们也使 Excel 表格容易出错,并带来维护上的挑战。

想象一下,你在成千上万行中填写了以下公式。

=IF(B2=0, "OUT", IF(B2<=C2, "LOW", "OK"))

如果有人不小心更改了公式中的某个参数,可能会导致你的分析出现偏差。在大型数据集中,查找确切问题所在可能非常困难——甚至不可能。如果使用 MAP 函数,结果会溢出,而不是创建更多的公式。

你甚至可以在其他公式中使用溢出的单元格,一切都会完美运行。然而,你不能编辑这些单元格。只有输入函数的单元格是可编辑的,这意味着没有人会在随机单元格中意外破坏公式,让你手忙脚乱。如果出现错误,你知道该去哪里查找。

让事情更加防错

被命名为 LAMBAS 的美丽

MAP 函数通过命名的 LAMBDA 函数将防错提升到了一个新的水平。具体来说,我指的是它们如何使用描述性名称抽象和隐藏复杂公式的逻辑。这不仅意味着在重复使用公式时减少了复制粘贴错误,还意味着减少了意外修改的情况。

接着前面的库存与再订货点的例子,我们可以使用 Excel 的名称管理器创建一个名为 CheckStock 的 LAMBDA。为此,选择 公式 选项卡,然后点击 定义名称。然后在 名称 字段中输入 CheckStock,并在 引用位置 字段中输入下面的公式。

=LAMBDA(qty, reorder, IF(qty = 0, "OUT", IF(qty <= reorder, "LOW", "OK")))

现在,不再到处写那个冗长的公式,MAP 函数看起来整洁多了。

=MAP(B2:B100, C2:C100, CheckStock)

公式中的计算审计

MAP 函数让一切更易读

MAP 函数的另一个常见用例是处理折扣。一条公式可以管理所有计算,从而消除整体范围内的错误。当公式分散在整个表格中时,单个错误可能极难发现。

这是一个 MAP 函数计算简单折扣的示例。B 列包含价格,C 列包含折扣(以百分比表示):

=MAP(B2:B5, C2:C5, LAMBDA(price, discount, price * (1-discount)))

注意公式因为 LAMBDA 函数而变得易读。没有它,第一个折扣的公式看起来会像这样晦涩难懂,迫使读者去猜测单元格引用的含义。

=B2 * (1-C2)

即使是分级折扣,使用 MAP 函数也更容易理解。是的,你可能会牺牲简洁性,但如果语境合适,冗长也未必是坏事。任何使用 Excel 一段时间的人都能很容易看出下面公式中发生了什么:

=MAP(A2:A50, LAMBDA(price, IF(price > 100, price * 0.85, price * 0.95)))

高级数据清理

你并不总是需要使用向下填充选项

有很多令人厌烦的任务是 Excel 用户最不喜欢的,其中最大的一项就是清理原始数据。数据清理往往迫使我依赖辅助列或嵌套公式,然后我还得向下填充——而我非常讨厌这样。当数据量增加时,你必须记得扩展这些公式,如果忘记了,就可能会导致错误。

例如,假设你有一个产品列表,其中的名称存在大小写不一致和前导空格。这通常发生在数据来自不同来源时。为了标准化文本,你可以使用如下公式,然后向下填充。

=PROPER(TRIM(A2))

但这里的问题源于手动填充和公式断裂的风险。MAP 函数可以轻松解决这些问题,并保持工作簿整洁。

=MAP(A2:A1000, LAMBDA(text, PROPER(TRIM(text))))

这会自动将固定文本填充到整个范围,无需拖动。

让 MAP 函数完成所有工作

就是这样——一个可以消除重复工作、将公式集中管理并减少错误的函数。MAP函数适用于很多用途,包括跟踪库存、计算折扣或清理杂乱的数据。MAP只需一个公式就能处理所有问题,并且可以随着你的电子表格扩展而增长。

相关文章