您如何根据另一列有条件地格式化 Excel ?

How do you conditionally format an Excel according to another column?

如何根据另一列有条件地格式化 Excel?我正在尝试根据第 1 列和第 2 列中的代码数字是否小于 value.

列中的值来对它们进行着色

下方的这段代码片段有效,但我想用一列替换 rule = "<500" 以使其更加动态。我不断收到错误并尝试了一些方法。

library(openxlsx)
library(tidyverse)

wb <- createWorkbook() #create workbook
addWorksheet(wb, "sheet_dog") #create blank sheet called sheet_dog
writeData(wb, "sheet_dog",dataset) # populate blank sheet_dog sheet with data

negStyle <- createStyle(fontColour = "#9C0006") #select color we will color code with 

conditionalFormatting(wb, "sheet_dog", #specify sheet and workbook
                      cols = 2, #color code column 2
                      rows = 1:nrow(dataset), rule = "<500", style = negStyle #rule
)


我尝试用 rule = "<dataset[c('value')]" 替换此 rule = "<500"(我认为如果第 2 列中的值小于 value 列中的值,这会将它们着色为红色)。我也尝试过简单地编写专栏 rule = "<value" 并尝试过 rule = "<dataset$value".

如何根据另一列中的值有条件地格式化一列?我究竟做错了什么?谢谢。

为了清楚起见,我创建了一个 table 并在此处将我希望在 Excel 中突出显示的红色加粗:

dog_adoptions_santa_clara dog_adoptions_san_francisco value
17 11 12
7 15 10

我没有用过 R,但是 Excel 中的公式是

=A2<$C2

然后我会将该规则应用于具有所需格式的单元格 A2:B3。


conditionalFormatting(wb, "sheet_dog", #specify sheet and workbook
                      cols = 2, #color code column 2
                      rows = 2:nrow(dataset), rule = "<$C2", style = negStyle #rule
)

如果有人好奇,在 Excel 中,将 $ 锁定到该列,但可以迭代该行。因此,上面的代码从第二行(以避免包含 headers)开始遍历整个数据集,并与从 C2 开始的相应列进行比较。