У меня есть книга Excel со столбцами, которые содержат флаги (обновление или нет), которая просматривает два соседних столбца и проверяет, содержат ли две ячейки одинаковые точки данных. Если нет, он помечается как «обновление» в 1-й ячейке, и я хотел бы выделить следующие две ячейки рядом с ячейкой «обновления».
Рабочий пример
library(openxlsx)
animals <- c("Cat","Mice","Dog","Bird","Cat","Cat")
colors <- c("Grey","White","Black","Blue","Black","Orange")
store <- c("Pet Shop","Online","Pets Mart","Walmart","Online","Pets Mart")
df <- cbind(animals,colors,store)
setwd('C:/Users/WORKING DIRECTORY')
write.xlsx(df, file ="test_test.xlsx",row.names = FALSE, sheetName= "Data")
код openxlsx для выделения текстовых значений
df <- loadWorkbook(file = "test_test.xlsx")
highlighting <- createStyle(bgFill = "#fff400")
conditionalFormatting(df, "Data", cols = 1:3, rows = 2:7, type = "contains", rule = "A2=Cat", style = highlighting)
saveWorkbook(df, file = "Test_Output.xlsx", overwrite = TRUE)
В приведенном выше коде я пытаюсь выделить все ячейки, которые содержат «Cat» в столбце A, а затем выделил следующие две соседние ячейки желтым цветом в столбцах B и C.
Как и в исходной задаче, у меня будет много столбцов в электронной таблице, поэтому помощь в прохождении по всем конкретным столбцам флага «обновления» будет бонусом. По сути, мне придется выделить соседние ячейки рядом с текстом «обновить» в книге Excel (т. Е. B10 = «Обновить», затем выделить C10 и D10, F30 = «Обновить», затем выделить G30 и H30 и т. Д.)
Большое спасибо заранее за помощь!