我有一个如下所示的数据集(只是大得多):每一行代表一个任务,列中可用的点数最多B
。从 开始的每一列C
代表一个人,他们的每项任务的分数。
现在,我想做的是根据该任务的总可用分数的百分比为每个分数着色。也就是说,我想应用一个色标,但是每一行的最大值都不一样(它是B
列中的数字)。结果应该是这样的。
有没有办法做到这一点,而无需单独手动定义每行的色阶?(正如我提到的,真实的数据集要大得多。)
这是供您测试的示例数据集。
no max Alice Bob Claudia David
1 10 9 7 6 10
2 7 7 7 3 7
3 9 7 5 6 9
4 12 10 8 12 5
5 5 4 2 3 4
6 10 6 2 4 7
提交错误报告后,我得到一个提示,其中涉及一个不同但已知的 LO calc 错误,因此我只能提出一个解决方法(适用于您的测试数据):
定义单元格区域 C2:F2 的条件格式,最小值定义为值“0”,最大值定义为公式“=INDIRECT("B" & ROW())"。INDIRECT() 函数采用表示单元格引用的字符串,在本例中,“B3”表示第三行,“B4”表示第四行,依此类推,根据当前行号动态构建;INDIRECT 将评估单元格引用,从 B 列中为当前行生成最大值。虽然相对单元格引用“=$B2”如果复制到不同的行将不会得到调整,但 INDIRECT() 应该返回正确的最大单元格。
将格式从 C2:F2 粘贴到 C3:F7,方法是选择 C2:F2 并使用“粘贴格式”按钮,或者复制并使用“选择性粘贴”->“格式”。
将文件另存为 xlsx (!) 并重新打开它。如果没有这一步(或以 ods 格式保存时),条件格式将不会根据当前行的最大值更新。这是我们必须解决的错误。
现在,基于每行的 B 值,条件格式应该适用于整个范围 B2:F7。我使用数据栏作为条件格式,因为如果使用了不正确的最小值/最大值,它会非常清楚地显示出来。