本文介绍如何进一步扩展可用性,实现分类体系的整体切换。
系列教程索引和配套练习文件,请点这里。
上一课介绍了把参数分离出来的方法,多了不少步骤,实现的结果却没有什么变化,那为何这样折腾呢?原因在于,这样设计的结构可以方便替换不同模块,非常灵活。
打开 Example 4.xlsx,在 Settings 工作表中新添加行,key 分别为 tab、genre_first 和 genre_last,并按照下图中的公式填写 B 列。

其中,tab 所对应的 B 列的值就是 “ hehe ”,不是公式。
然后,将第 3 至 8 行中函数 ADDRESS 的最后一个参数 sheet_text 更改为 $B$9,也就是 “ hehe ” 的位置。将 B2 处公式也按照下图进行修改。

从而,表格中前七行所衡量的范围不再固定于 Genre 工作表,而是由 tab 参数的值指定。目前看来,是对 hehe 工作表内容的指代。注意到其中 B11 处的公式里,手动将查找非空行的最大范围设置在了 1048576,这个数字是 Excel 的最大行数。因为 Excel 没有提供根据索引间接引用整行的方法,所以只能机械地用最大值来代替。
当然了,由于我们还没建立 hehe 工作表,现在的 Tamplate 是一片混乱的。

于是乎,新建一个工作表,命名为 hehe,写上一些不同的分类标准,如下图

然后,神奇的事情发生了,切换回 Tamplate 工作表,发现新的分类已经自动被应用上了。

在这样的结构下,切换整个分类体系变得非常简单,之需要新建一个分类体系的工作表,然后将它的名称输入到 Settings 中的 tab 参数下即可,并且是不区分大小写的,用起来非常的灵活。
如此便完成了 Example 5.xlsx。
下一课中,将介绍一些保护工作簿的方法,使得如此复杂的逻辑结构不会被轻易改动。
网友评论