Microsoft Excel2019とLibreOffice Calc(7.4.6.2)を併用(※1)しており、条件付き書式を使用している際に、不可解な動きが発生しました。
誠に恐縮ですが、このことについて相談させてください。
よろしくお願い致します。
【現象】
まず、Excel2019にて、セルに以下のような条件付き書式を設定したxlsxファイルを作成しました(※2)。
《Excel2019上での条件付き書式設定》
セル値が「30以上」 → セル背景色を「RGB(128, 0, 0) '赤茶」に
セル値が「20~30」 → セル背景色を「RGB(255, 0, 0) '赤」に
セル値が「10~20」 → セル背景色を「RGB(255, 179, 0) '橙」に
セル値が「5~10」 → セル背景色を「RGB(255, 255, 0) '黄」に
セル値が「-5~5」 → セル背景色を「RGB(255, 255, 255) '白」に
セル値が「-10~-5」 → セル背景色を「RGB(139, 255, 139) '黄緑」に
セル値が「-20~-10」→ セル背景色を「RGB(0, 210, 205) '青緑」に
セル値が「-30~-20」→ セル背景色を「RGB(91, 91, 255) '明るい青」に
セル値が「-30未満」 → セル背景色を「RGB(0, 0, 172) '濃い青」に
このxlsxファイルをCalc(7.4.6.2)で開いて、
[書式]->[条件付き]->[管理]から起動する「条件付き書式を管理」画面からは、上記の条件が正常に設定されていることが、Calc(7.4.6.2)上で確認できました。
それにも関わらず、Calc(7.4.6.2)上で実際にセルに値を入力したときの動きは、以下のように、マイナス値との比較が正常に機能しないものとなってしまいました。
《LibreOffice Calc(7.4.6.2)上での実際の動き》
セル値が「30以上」→ セル背景色を「RGB(128, 0, 0) '赤茶」に
セル値が「20~30」→ セル背景色を「RGB(255, 0, 0) '赤」に
セル値が「10~20」→ セル背景色を「RGB(255, 179, 0) '橙」に
セル値が「5~10」 → セル背景色を「RGB(255, 255, 0) '黄」に
セル値が「0~5」 → セル背景色を「RGB(255, 255, 255) '白」に
セル値が「0未満」 → セル背景色を「RGB(0, 0, 172) '濃い青」に
【相談内容】
Excel2019とCalc(7.4.6.2)で条件付き書式が同じように動いてほしいのですが、「セルの値」のマイナス値との比較が正常に機能せず、同じような動きになりませんでした。
これは、Calc(7.4.6.2)の不具合なのでしょうか。それとも、私の使い方に問題があったのでしょうか。
(※1)相談内容とはあまり関係ないですが、それぞれ以下の特徴があるようなので、Excel2019のマクロでxlsxファイルを加工し、CalcでPDF変換を行う形で、併用しています。
[Excel2019]
マクロ言語のExcel VBAに関する情報が得やすく、デバッガも最初から用意されており、マクロの作りこみがし易いので使用。
[LibreOffice Calc(7.4.6.2)]
xlsxファイルのPDF変換が、体感的にExcel2019よりも処理が速い。sofficeでコマンドラインからPDF変換できるのも便利。
(※2) 実際には、Excel VBAから以下のような処理を行い、セルに条件付き書式を設定しました。
myRange.FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreaterEqual, Formula1:=30).Interior.Color = RGB(128, 0, 0)
myRange.FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreaterEqual, Formula1:=20).Interior.Color = RGB(255, 0, 0)
myRange.FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreaterEqual, Formula1:=10).Interior.Color = RGB(255, 179, 0)
myRange.FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreaterEqual, Formula1:=5).Interior.Color = RGB(255, 255, 0)
myRange.FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreaterEqual, Formula1:=-5).Interior.Color = RGB(255, 255, 255)
myRange.FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreaterEqual, Formula1:=-10).Interior.Color = RGB(139, 255, 139)
myRange.FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreaterEqual, Formula1:=-20).Interior.Color = RGB(0, 210, 205)
myRange.FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreaterEqual, Formula1:=-30).Interior.Color = RGB(91, 91, 255)
myRange.FormatConditions.Add(Type:=xlCellValue, Operator:=xlLess, Formula1:="-30").Interior.Color = RGB(0, 0, 172)
条件付き書式.xlsx (412.5 KB)