按ID替代行着色 - 无元编程的条件格式

时间:2016-09-01 03:42:46

标签: ruby excel excel-formula openoffice-calc

02902982085   4   a   ?  <-- blue
02902982085   #   1   r  <-- blue
02902982085   b   $   0  <-- blue
01395235224   w   z   [  <-- yellow
01395235224   a   -   5  <-- yellow
10352351342   r   .   r  <-- blue
10352351342   z   2   -  <-- blue
10352351342   2   x   0  <-- blue
10352351342   q   ]   /  <-- blue

我希望根据第一列替换浅黄色和浅蓝色。数据按id分组,即第一列。可以拥有一组10+或只有1.如何使用原生OpenOffice技术实现这一目标?

(*)我目前正在这样做的方法是使用这个ruby脚本生成布尔值,我可以在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).even?.to_s
    else
        if $i == (f.size-1)
            $switch-=1
            g.puts ($switch).even?.to_s
        else
            g.puts ($switch).even?.to_s
            $switch+=1
        end
    end
    $i += 1 
end
}

这是荒谬的......以下是上述程序的输入(实际上我只是将电子表格中的列复制并粘贴到文本文件中):

shading.txt

02902982085
02902982085
02902982085
01395235224
01395235224
10352351342
10352351342
10352351342
10352351342

哪个会给出这个输出:

shading_out.txt

true
true
true
false
false
true
true
true
true

我基本上需要一种方法来获取这样的TRUE / FALSE列(不使用其他程序,只使用OpenOffice公式/技术):

02902982085   4   a   ?  TRUE  <-- true's would be blue with conditional formatting options (see image below)
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

enter image description here

这样我就可以根据&#34; forumla执行条件格式化了#34;选项,在这种情况下是列E.这样所有TRUE条目都是蓝色,第二个条件是= NOT($ E1),这将使所有FALSE条目变为黄色。据我所知,OpenOffice calc无法在ID中的交换机上切换虚拟变量的值,即两个FALSE实例,这就是我使用ruby的原因......

enter image description here

1 个答案:

答案 0 :(得分:1)

如果我正确理解了这个问题,你可以写一些类似的东西 “IF(A2 = A1; B1; NOT(B1))” 在单元格B2中,其中A是具有ID的列,B是真/假列。