要在 Mac 版 Numbers 中将多词库存标签转换为首字母缩写,请使用包含 TRIM、REGEX、SUBSTITUTE 和 UPPER 的辅助列。下面的公式会将 Blue Storage Box 转换为 BSB,取每个由普通空格分隔的单词的首字母。
本指南面向维护库存表、希望缩短标签同时保留完整描述的 Mac 用户。指南依据 Apple 当前的 Mac 版 Numbers 使用手册,该手册注明其版本为 Numbers 15.4。通过 Numbers > 关于 Numbers 查看已安装的版本。Mac 版 Numbers 使用手册
在辅助列中输入缩写公式
使用一个带标题行的表格,包含四列:A 列为 标签,B 列为 缩写,C 列为 数量,D 列为 缩写出现次数。在第 2–6 行输入以下示例标签和对象数量。先将 B 列和 D 列留空;此处列出了预期结果,供你对照。
| 行 | A:标签 | B:预期缩写 | C:数量 | D:预期出现次数 |
|---|---|---|---|---|
| 2 | Blue Storage Box | BSB | 12 | 1 |
| 3 | green round tray | GRT | 8 | 1 |
| 4 | Large Square Tile | LST | 24 | 2 |
| 5 | Long Slim Tube | LST | 6 | 2 |
| 6 | Small Round Tray | SRT | 10 | 1 |
选择单元格 B2,然后输入以下完整公式:
=UPPER(SUBSTITUTE(SUBSTITUTE(TRIM(A2),REGEX("([^ ])[^ ]*"),"$1")," ",""))
输入 = 会打开 公式编辑器。输入公式其余部分,然后按 Return 确认。B2 中的结果应为 BSB。Apple 介绍了如何输入公式,以及如何使用引用的单元格作为输入。在 Mac 版 Numbers 中使用表格单元格中的数据计算值
此公式由 Apple 文档中介绍的函数组成。特别是,Apple 明确支持在 SUBSTITUTE 的替换参数中使用正则表达式捕获组,包括此处使用的 $1 表示法。SUBSTITUTE
示例在参数之间使用逗号。如果你的设置使用逗号作为小数分隔符,Apple 指示应在公式参数之间改用分号。请保持引号内的空格和正则表达式文本不变。函数概览
了解公式保留和删除的内容
从最内层函数开始向外阅读公式。每个阶段执行一项小的转换,这样更容易排查意外结果。
首先,TRIM(A2) 会删除开头和结尾的空格,并将单词之间重复的空格缩减为一个空格。因此,输入为 Small Round Tray 的标签会在开始缩写前变为 Small Round Tray。TRIM
接下来,REGEX("([^ ])[^ ]*") 会匹配每段连续字符,其中不包含普通空格。括号中的部分捕获该段的首字符;其余部分匹配该段剩下的字符。Apple 说明其正则表达式遵循 ICU 标准。此模式的具体解释构成了这种缩写方法的基础。REGEX
内层 SUBSTITUTE 使用 $1 将每个匹配的单词替换为捕获到的首字符。由于省略了可选的出现次数参数,它会替换所有匹配项。因此,Blue Storage Box 会变为 B S B。外层的 SUBSTITUTE 随后会删除普通空格,生成 BSB。SUBSTITUTE
最后,UPPER 会将结果转换为大写。这样,无论原始描述使用小写还是大小写混合,标签都能保持一致:green round tray 会变为 GRT。UPPER
此规则会从每个以空格分隔的单词中取一个字符,包括较短的连接词。它不会判断哪些词更重要。例如,Box of Round Tiles 会生成 BORT。如果你希望缩写时省略特定词语,应先制定好命名规则,再扩展公式。
向下填充公式并检查结果
确认 B2 得到预期结果后,选择该单元格,将指针移到所选区域的边框上,直到黄色自动填充控点出现。将控点向下拖到 B6。自动填充会复制公式和相关格式,并覆盖目标位置中已有的内容,因此请使用空白辅助单元格。在 Mac 版 Numbers 中自动填充单元格
检查 B3 中的公式:其源单元格应为 A3。保留相对源引用,这样每个缩写都会使用其所在行的标签。Apple 解释说,固定行或列引用会使其变为绝对引用;这适用于固定范围,但对于这个会随行变化的源单元格来说没有必要。在 Mac 版 Numbers 中使用表格单元格中的数据计算值
在将公式应用到更大的库存表之前,请将几个有代表性的标签与此诊断表进行比较。以下是根据公式推导出的示例结果。我们用一个简单的 Python 示例检查了相同的字符转换;并未在 Numbers 应用中运行该公式。
| 输入标签 | 结果 | 说明 |
|---|---|---|
Single |
S |
单词标签贡献一个字符。 |
Small Round Tray |
SRT |
多余的普通空格会被规范化。 |
| 空文本 | 空文本 | 没有可保留的字符。 |
Blue-Green Storage Box |
BSB |
按此规则,连字符不会分隔单词。 |
Box 12 Large |
B1L |
数字单词会贡献其首位数字。 |
分隔符特指普通空格字符。使用此版本前,请规范化制表符、换行符和不换行空格。还要检查以标点符号开头的单词:此模式会将标点符号作为首字符保留。如果连字符连接的描述应贡献两个首字母,请先在单独的工作列中统一分隔符,再生成缩写。
如果 Numbers 显示错误而不是缩写,请点按错误图标查看错误信息。检查括号、带引号的字符串、参数分隔符和源引用。Apple 介绍了这种查看错误的方式;请根据错误信息修正公式,再填充其他行。在 Mac 版 Numbers 中使用表格单元格中的数据计算值
查找不同标签共用的缩写
示例特意包含一组冲突:Large Square Tile 和 Long Slim Tube 都会变为 LST。首字母缩写会丢失信息,因此即使公式正确,结果仍可能含义不明。请将完整描述与缩写放在一起,并在单独使用短标签之前检查是否存在冲突。
对于示例中的五行数据,在 D2 中输入以下完整公式,然后向下填充到 D6:
=COUNTIF(B$2:B$6,B2)
COUNTIF 会统计符合指定条件的单元格数量。此处,它统计与当前行缩写相同的缩写数量。预期计数依次为 1、1、2、2 和 1。对于由字母和数字组成的非空缩写,可以使用此简单检查;COUNTIF 也会将条件中的通配符视为特殊字符,因此星号等标点符号需要额外处理。COUNTIF
美元符号会固定范围的起止行,而最后的 B2 引用会在向下填充时改变。请确认每个复制的公式仍检查第 2–6 行。如果你添加库存行,请扩展检查范围,将新行包含在内。Apple 还提供了名为 保留行 和 保留列 的引用标记控制项。在 Mac 版 Numbers 中使用表格单元格中的数据计算值
任何大于 1 的计数都应促使你检查完整标签。同一对象的重复行,以及首字母相同但描述不同的对象,需要分别作出命名决定。对于这两个 LST 对象,可以在单独的显示标签列中使用精心选定的标签,例如 LST Tile 和 LST Tube。保留生成的缩写列,以便轻松理解命名决定。
要更容易发现重复缩写,请选择 D2:D6,打开格式边栏,选择 单元格 > 条件高亮显示 > 添加规则,然后添加一个数值大于 1 的规则。选择一种样式,然后点按完成。高亮显示会根据数值改变外观;计数由辅助公式完成。Apple 指出,如果多个规则同时适用,第一个匹配的规则决定外观。在 Mac 版 Numbers 中使用单元格条件
让数组结果和图表标签符合任务需求
此缩写公式每行返回一个文本值。它不需要溢出的数组,也不需要额外列来存放中间单词。Apple 的 TEXTSPLIT 函数可以将文本拆分到多列或多行中,但仅拆分文本会留下多个片段,而不是一个完整的缩写。需要一个简短标签作为输出时,请使用上面的单元格公式。TEXTSPLIT
如果之后要绘制对象数量图表,请准备一个包含已审核显示标签及对应数值的表格区域。Numbers 会根据表格数据创建图表:选择单元格,点按图表,然后选择图表类型。检查生成的分类标签,并在必要时使用编辑数据引用。只有图表的数据引用使用了辅助列中的值,更改该值才会影响图表;仅创建缩写列不会让已有图表自动选用该列。在 Mac 版 Numbers 中选择数据制作图表
保留完整标签,在相邻列生成首字母缩写,并在其他地方重复使用之前检查重复结果。这样,你既能建立可重复使用的缩写流程,又能保留足够的上下文,以区分首字母恰好相同的对象。
来源
- Mac 版 Numbers 使用手册 — Apple。
- 在 Mac 版 Numbers 中使用表格单元格中的数据计算值 — Apple。
- 函数概览 — Apple。
- SUBSTITUTE — Apple。
- TRIM — Apple。
- REGEX — Apple。
- UPPER — Apple。
- 在 Mac 版 Numbers 中自动填充单元格 — Apple。
- COUNTIF — Apple。
- 在 Mac 版 Numbers 中使用单元格条件 — Apple。
- TEXTSPLIT — Apple。
- 在 Mac 版 Numbers 中选择数据制作图表 — Apple。