LibreOffice Calc 按类别对单元格进行颜色编码

LibreOffice Calc 按类别对单元格进行颜色编码

我有一份包含文本数据的电子表格;每列都有一组有限的允许字符串值。文件中还有第二张表,其中第一张表的每一列都只包含一次允许值。(目前没有公式强制执行这一点;我很确定,如果我知道如何做到这一点,我就不需要问这个问题了。)

我想要做的是使主表中的每个值都进行颜色编码,以便给定列的每个允许值都有不同的颜色。手动为每个值分配颜色是不可行的。我不关心不同列的颜色范围是否重叠。

我见过这个问题,这与我的问题基本相同,但针对的是 Excel,而且答案也不清楚。受此启发,我添加了额外的列,以便在域表中每列的左侧有一列将这些值映射到连续的整数。不过,我不知道如何在主表上将它们转换为颜色。

我确实找到了说明色标格式。这大约是我需要的一半;不幸的是,似乎公式只能在那里用来定义渐变的最小值、最大值和中点值,而不能将单元格值从字符串处理为整数以使其可渐变。

使用这种方法,我已经完成了大部分工作:第三张工作表读取第一张工作表中的值,使用第二张工作表将它们映射到数字,并将颜色比例应用于结果。这样会生成一张与原始工作表具有相同数据的工作表,但以数字和颜色而不是字符串表示。剩下的步骤(如果此方法可行)是将这些颜色复制到原始工作表上,或者让新工作表向用户显示字符串,同时包含格式化程序的数字。

答案1

除了使用宏之外,没有其他方法可以动态创建一组新颜色。可以使用色标,正如你所说。还可以创建任意数量的新颜色和样式(已描述这里),但题目说颜色种类太多了。

因此,请突出显示任何重复项和任何不在列表中的值。

  1. 选择要检查主工作表上某一列的单元格。
  2. 格式 -> 条件格式 -> 管理
  3. 添加,条件 1 Cell value is,,duplicate应用样式Bad。(这在 LO 5.4.3.2 中有效。如果您的版本不够新,请COUNTIF按所述使用这里)。
  4. 添加,条件 2 Formula is,,ISNA(VLOOKUP(A1;Sheet2.$A$1:$A$100;1;))应用样式Error(基于这里)。

例如,如果工作表 2 包含以下列表:

apple
banana
carrot
date
eggplant
fig
grape

然后在主表上,有问题的值被突出显示。

工作表 1 上的高亮值

注意:你可以使用以下方式强制将值包含在列表中数据 -> 有效性, 允许Cell range

相关内容