02902982085 4 a ? <-- yellow
02902982085 # 1 r <-- yellow
02902982085 b $ 0 <-- yellow
01395235224 w z [ <-- blue
01395235224 a - 5 <-- blue
10352351342 r . r <-- yellow
10352351342 z 2 - <-- yellow
10352351342 2 x 0 <-- yellow
10352351342 q ] / <-- yellow
我想根据第一列交替显示浅黄色和浅蓝色。数据按 ID(即第一列)分组。可以有 10+ 组或只有 1 组。如何实现?
(*) 我目前正在使用的方法是使用这个 ruby 脚本来生成数字,然后将其输入到列中并计算 =ISEVEN(),然后在 OpenOffice 中进行条件格式设置(参见下图):
f = File.readlines("shading.txt") #<-- I just copy and paste a column from spreadsheet to here
$i = 0
$switch = 0
open('shading_out.txt','a'){|g|
while $i < f.size do
if f[$i] == f[$i+1]
g.puts ($switch).to_s + " " + ($switch).even?.to_s
else
if $i == (f.size-1)
$switch-=1
g.puts ($switch).to_s + " " + ($switch).even?.to_s
else
g.puts ($switch).to_s + " " + ($switch).even?.to_s
$switch+=1
end
end
$i += 1
end
}
这简直太荒谬了...这是上述程序的输入(实际上我只是将电子表格中的一列复制并粘贴到文本文件中):
02902982085
02902982085
02902982085
01395235224
01395235224
10352351342
10352351342
10352351342
10352351342
这将给出以下输出:
0 true
0 true
0 true
1 false
1 false
2 true
2 true
2 true
2 true
但我只会生成数字并将列复制到我正在处理的电子表格中,我包含了布尔值来帮助解释我在 (*) 中的方法。
我本质上需要一种方法来获取像这样的 TRUE FALSE 列(不使用其他程序而仅使用 OpenOffice 公式/技术):
02902982085 4 a ? TRUE <-- true's would be blue
02902982085 # 1 r TRUE
02902982085 b $ 0 TRUE
01395235224 w z [ FALSE <-- false's would be yellow, i.e., =NOT($E1) would be true for second conditional (see image below)
01395235224 a - 5 FALSE
10352351342 r . r TRUE
10352351342 z 2 - TRUE
10352351342 2 x 0 TRUE
10352351342 q ] / TRUE
这样我就可以根据“forumla is”选项执行条件格式,在本例中为 E 列。这样,所有 TRUE 条目都将变为蓝色,第二个条件将是 =NOT($E1),这将使所有 FALSE 条目变为黄色。据我所知,OpenOffice calc 无法在 ID 切换时切换虚拟变量的值,即两个 FALSE 实例,这就是我使用 ruby 的原因……