我有一份包含文本数据的电子表格;每列都有一组有限的允许字符串值。文件中还有第二张表,其中第一张表的每一列都只包含一次允许值。(目前没有公式强制执行这一点;我很确定,如果我知道如何做到这一点,我就不需要问这个问题了。)
我想要做的是使主表中的每个值都进行颜色编码,以便给定列的每个允许值都有不同的颜色。手动为每个值分配颜色是不可行的。我不关心不同列的颜色范围是否重叠。
我见过这个问题,这与我的问题基本相同,但针对的是 Excel,而且答案也不清楚。受此启发,我添加了额外的列,以便在域表中每列的左侧有一列将这些值映射到连续的整数。不过,我不知道如何在主表上将它们转换为颜色。
我确实找到了说明色标格式。这大约是我需要的一半;不幸的是,似乎公式只能在那里用来定义渐变的最小值、最大值和中点值,而不能将单元格值从字符串处理为整数以使其可渐变。
使用这种方法,我已经完成了大部分工作:第三张工作表读取第一张工作表中的值,使用第二张工作表将它们映射到数字,并将颜色比例应用于结果。这样会生成一张与原始工作表具有相同数据的工作表,但以数字和颜色而不是字符串表示。剩下的步骤(如果此方法可行)是将这些颜色复制到原始工作表上,或者让新工作表向用户显示字符串,同时包含格式化程序的数字。
答案1
除了使用宏之外,没有其他方法可以动态创建一组新颜色。可以使用色标,正如你所说。还可以创建任意数量的新颜色和样式(已描述这里),但题目说颜色种类太多了。
因此,请突出显示任何重复项和任何不在列表中的值。
- 选择要检查主工作表上某一列的单元格。
- 格式 -> 条件格式 -> 管理。
- 添加,条件 1
Cell value is
,,duplicate
应用样式Bad
。(这在 LO 5.4.3.2 中有效。如果您的版本不够新,请COUNTIF
按所述使用这里)。 - 添加,条件 2
Formula is
,,ISNA(VLOOKUP(A1;Sheet2.$A$1:$A$100;1;))
应用样式Error
(基于这里)。
例如,如果工作表 2 包含以下列表:
apple
banana
carrot
date
eggplant
fig
grape
然后在主表上,有问题的值被突出显示。
注意:你可以使用以下方式强制将值包含在列表中数据 -> 有效性, 允许Cell range
。