formatting.rule【書式ルール】モジュール
メモ ( 概要 基本 行全体・列全体 注意事項 Rule【書式ルール】の設定項目 ) 例 関数
クラス: ColorScale【カラー スケール】 DataBar【データ バー】 FormatObject【値オブジェクト (条件付き書式)】 IconSet【アイコン セット】 Rule【書式ルール】 RuleType【値情報】 ValueDescriptor【値ディスクリプタ】
メモ
概要
- 条件付き書式の書式ルールに関連するモジュール
- Excelの [ホーム]タブ - [スタイル] - [条件付き書式] の書式ルールに対応
- Excelの [ホーム]タブ - [スタイル] - [条件付き書式] の書式ルールに対応
- モジュール内定義
- 関連モジュール
基本
〔 例 〕- Rule【書式ルール】を生成
- 詳細は、Rule【書式ルール】の設定項目
- 一部は、簡易生成関数 でも可
- Rule【書式ルール】をワークシートに追加
- Worksheet【ワークシート】 の conditional_formatting【条件付き書式リスト】プロパティ に add【書式ルール追加】 または ConditionalFormattingList[] =【書式ルール追加 操作】 で適用先セルを指定して追加
- 書式ルールの優先順位を省略した場合、先に追加した書式ルールが優先
- 追加後の書式ルールの管理: ConditionalFormattingList【条件付き書式リスト】 参照
行全体・列全体
〔 例 〕- 適用先セルと同一行 または 同一列 の別セルを参照し、行全体 または 列全体 に書式適用
- formula【数式リスト】で指定するセルアドレスの片方を、絶対アドレス (複合参照) で指定
注意事項
- 文字列関連等の書式ルールの数式は、仕様上は不要
- 但し、Excel で開く場合は必要 (Google スプレッドシートで開く場合は、未指定でも可)
- 詳細:数式※
- 単色塗りつぶしを使用時の色指定
- 書式の PatternFill【塗りつぶし (パターン)】 で 'solid'【塗りつぶし (単色)】指定の場合、
fgcolor・start_color【パターンの色】ではなく bgcolor・end_color【背景色】が使用される - 条件付き書式で使用する場合、両方に同一色を指定するのが無難
- 書式の PatternFill【塗りつぶし (パターン)】 で 'solid'【塗りつぶし (単色)】指定の場合、
Rule【書式ルール】の設定項目
セルの値に基づいてすべてのセルを書式設定〔 例 〕 | ||||
---|---|---|---|---|
ルール | type【ルールの種類】 | colorScale 【カラー スケール】 | dataBar 【データ バー】 | iconSet 【アイコン セット】 |
2 色スケール | 'colorScale'【カラー スケール】〔 例 〕 簡易生成関数:ColorScaleRule | ColorScale ( FormatObject ) | ||
3 色スケール | ||||
データ バー | 'dataBar'【データ バー】〔 例 〕 簡易生成関数:DataBarRule | DataBar ( FormatObject ) | ||
アイコン セット | 'iconSet'【アイコン セット】〔 例 〕 簡易生成関数:IconSetRule | IconSet ( FormatObject ) |
指定の値を含むセルだけを書式設定 | |||||
---|---|---|---|---|---|
ルール | type【ルールの種類】 | operator【条件演算子】 | formula 【数式リスト】 | その他 | dxf【差異スタイル】 |
セルの値が次の値の間 | 'cellIs'【セルの値】〔 例 〕 簡易生成関数:CellIsRule | 'between' 【次の値の間】 | 値1 値2 下記も可 ・絶対セルアドレス ・名前定義 | styles. DifferentialStyle | |
セルの値が次の値の間以外 | 'notBetween' 【次の値の間以外】 | ||||
セルの値が次の値に等しい | 'equal' 【次の値に等しい】 | 値 下記も可 ・絶対セルアドレス ・名前定義 | |||
セルの値が次の値に等しくない | 'notEqual' 【次の値に等しくない】 | ||||
セルの値が次の値より大きい | 'greaterThan' 【次の値より大きい】 | ||||
セルの値が次の値より小さい | 'lessThan' 【次の値より小さい】 | ||||
セルの値が次の値以上 | 'greaterThanOrEqual' 【次の値以上】 | ||||
セルの値が次の値以下 | 'lessThanOrEqual' 【次の値以下】 | ||||
特定の文字列を含む | 'containsText'〔 例 〕 【次の値を含む】 | 'containsText' 【次の値を含む】 | 数式 (含む) ※ | text 【比較文字列】 | |
特定の文字列を含まない | 'notContainsText'〔 例 〕 【次の値を含まない】 | 'notContains' 【次の値を含まない】 | 数式 (含まない) ※ | ||
特定の文字列で始まる | 'beginsWith'〔 例 〕 【次の値で始まる】 | 'beginsWith' 【次の値で始まる】 | 数式 (始まる) ※ | ||
特定の文字列で終わる | 'endsWith'〔 例 〕 【次の値で終わる】 | 'endsWith' 【次の値で終わる】 | 数式 (終わる) ※ | ||
日付 | 'timePeriod'〔 例 〕 【日付】 | timePeriod 【日付期間】 | |||
空白 | 'containsBlanks'〔 例 〕 【空白】 | 数式 (空白) ※ | |||
空白なし | 'notContainsBlanks'〔 例 〕 【空白なし】 | 数式 (空白なし) ※ | |||
エラー | 'containsErrors'〔 例 〕 【エラー】 | 数式 (エラー) ※ | |||
エラーなし | 'notContainsErrors'〔 例 〕 【エラーなし】 | 数式 (エラーなし) ※ | |||
※ 数式 OOXML(Office Open XML) の仕様上は必要ないが、Excel で開くと動作しない為、下記を指定 (Google スプレッドシートは不要) text text【比較文字列】と同じ文字列 textの文字数 上記の文字数 セルアドレス 適用先の左上セルアドレス | |||||
数式 (含む) | ' NOT(ISERROR(SEARCH("text", セルアドレス))) ' | ||||
数式 (含まない) | ' ISERROR(SEARCH("text", セルアドレス)) ' | ||||
数式 (始まる) | ' LEFT(セルアドレス, textの文字数)="text" ' | ||||
数式 (終わる) | ' RIGHT(セルアドレス, textの文字数)="text" ' | ||||
数式 (空白) | ' NOT(ISERROR(SEARCH("", セルアドレス))) ' | ||||
数式 (空白なし) | ' ISERROR(SEARCH("", セルアドレス)) ' | ||||
数式 (エラー) | ' ISERROR(セルアドレス) ' | ||||
数式 (エラーなし) | ' NOT(ISERROR(セルアドレス)) ' |
上位または下位に入る値だけを書式設定 | |||||
---|---|---|---|---|---|
ルール | type【ルールの種類】 | rank 【順位】 | bottom 【下位指定】 | percent 【パーセント指定】 | dxf【差異スタイル】 |
上位 (件数) | 'top10'〔 例 〕 【上位 / 下位】 | 件数 | 省略 / False | 省略 / False | styles. DifferentialStyle |
上位 (パーセンテージ) | パーセンテージ | 省略 / False | True | ||
下位 (件数) | 件数 | True | 省略 / False | ||
下位 (パーセンテージ) | パーセンテージ | True | True |
平均より上または下の値だけを書式設定 | |||||
---|---|---|---|---|---|
ルール | type【ルールの種類】 | aboveAverage 【平均より上】 | equalAverage 【平均値を含む】 | stdDev 【平均値の上下に含める標準偏差の数】 | dxf【差異スタイル】 |
平均より上 | 'aboveAverage'〔 例 〕 【平均より上 / 下】 | 省略 / True | 省略 / False | styles. DifferentialStyle | |
平均より下 | False | 省略 / False | |||
平均以上 | 省略 / True | True | |||
平均以下 | False | True | |||
平均より 1 標準偏差上 | 省略 / True | 1 | |||
平均より 1 標準偏差下 | False | 1 | |||
平均より 2 標準偏差上 | 省略 / True | 2 | |||
平均より 2 標準偏差下 | False | 2 | |||
平均より 3 標準偏差上 | 省略 / True | 3 | |||
平均より 3 標準偏差下 | False | 3 |
一意の値または重複する値だけを書式設定 | |||
---|---|---|---|
ルール | type【ルールの種類】 | dxf【差異スタイル】 | |
重複 | 'duplicateValues'【重複】〔 例 〕 | styles. DifferentialStyle | |
一意 | 'uniqueValues'【一意】〔 例 〕 |
数式を使用して、書式設定するセルを決定 | |||
---|---|---|---|
ルール | type【ルールの種類】 | formula【数式リスト】 | dxf【差異スタイル】 |
数式 | 'expression'【数式】〔 例 〕 簡易生成関数:FormulaRule | 結果が true/false となる数式 適用先セルを参照する場合は、適用先の左上セルアドレスを指定 行全体・列全体 も参照 | styles. DifferentialStyle |
外部リンク
- openpyxl (英語)
- ECMA-376:Office Open XML file formats (英語)
SpreadsheetML:- cfRule (Conditional Formatting Rule)
- cfvo (Conditional Format Value Object)
- colorScale (Color Scale)
- dataBar (Data Bar)
- iconSet (Icon Set)
- ST_CfType (Conditional Format Type)
- ST_CfvoType (Conditional Format Value Object Type)
- ST_ConditionalFormattingOperator (Conditional Format Operators)
- ST_TimePeriod (Time Period Types)
関数
関数 | 備考 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CellIsRule( operator=None, formula=None, stopIfTrue=None, font=None, border=None, fill=None) | 書式ルール生成 (セルの値) 参考:通常生成 戻り値 (Rule) 書式ルール (styles.DifferentialStyle【差異スタイル】設定) operator (str)条件演算子
stopIfTrue (bool)[条件を満たす場合は停止] 設定有無 font (Font)フォント border (Border)罫線 fill (GradientFill | PatternFill)塗りつぶし (注意事項 参照) | |||||||||||||||||||
ColorScaleRule( start_type=None, start_value=None, start_color=None, mid_type=None, mid_value=None, mid_color=None, end_type=None, end_value=None, end_color=None) | 書式ルール生成 (カラー スケール) 参考:通常生成 戻り値 (Rule)書式ルール (ColorScale【カラー スケール】設定) start_type (str)値の種類 (最小値) start_value値 (最小値) start_color (Color)色 (最小値) mid_type (str)値の種類 (中間値) mid_value値 (中間値) mid_color (Color)色 (中間値) end_type (str)値の種類 (最大値) end_value値 (最大値) end_color (Color)色 (最大値) | |||||||||||||||||||
DataBarRule( start_type=None, start_value=None, end_type=None, end_value=None, color=None, showValue=None, minLength=None, maxLength=None) | 書式ルール生成 (データ バー) 参考:通常生成 戻り値 (Rule)書式ルール (DataBar【データ バー】設定) start_type値の種類 (最小値) start_value最小値 end_type値の種類 (最大値) end_value最大値 color (Color)バーの色 showValue (bool)値の表示有無 ( [棒のみ表示]指定の逆 ) minLength (int)バーの長さの最小値 (%) [拡張] maxLength (int)バーの長さの最大値 (%) [拡張] 下記は未対応 ・塗りつぶし:塗りつぶし (単色) ・枠線:枠線 (実線)・色 ・横の方向 ・[負の値と軸] | |||||||||||||||||||
FormulaRule( formula=None, stopIfTrue=None, font=None, border=None, fill=None) | 書式ルール生成 (数式) 参考:通常生成 戻り値 (Rule)書式ルール formula (list | tuple)数式リスト stopIfTrue (bool)[条件を満たす場合は停止] 設定有無 font (Font)フォント border (Border)罫線 fill (GradientFill | PatternFill)塗りつぶし (注意事項 参照) | |||||||||||||||||||
IconSetRule( icon_style=None, type=None, values=None, showValue=None, percent=None, reverse=None) | 書式ルール生成 (アイコン セット) 参考:通常生成 戻り値 (Rule)書式ルール (IconSet【アイコン セット】設定) icon_style (str)アイコン スタイル type (str)しきい値の種類 (共通) values (list | tuple)しきい値のリスト showValue (bool)値表示の有無 ( [アイコンのみ表示]指定の逆 ) percent reverse (bool)アイコンの逆順序指定 ( [アイコン順序を逆にする] ) 下記は未対応 ・>【しきい値を含まない指定】(通常生成 は可) ・しきい値の種類の個別指定 (通常生成 は可) ・アイコンスタイルのユーザ設定 |
ColorScale【カラー スケール】クラス
クラス定義
クラス | 備考 |
---|---|
親:RuleType【値情報】 | |
class ColorScale( cfvo=None, color=None) | カラー スケール (参照:該当のRule【書式ルール】の設定項目) cfvo (list | tuple)値オブジェクト リスト color (list | tuple)色リスト |
プロパティ
プロパティ | 型 | 備考 |
---|---|---|
cfvo | list[ FormatObject ] tuple( FormatObject ) | 値オブジェクト リスト (親クラスで定義) 下記を指定 ・最小値 ・中間値 (2色スケールは未指定) ・最大値 |
color | list[ Color ] tuple( Color ) | 色リスト (N色スケール:N個) |
tagname | str | タグ名 ('colorScale') |
DataBar【データ バー】クラス
クラス定義
クラス | 備考 |
---|---|
親:RuleType【値情報】 | |
class DataBar( minLength=None, maxLength=None, showValue=None, cfvo=None, color=None) | データ バー (参照:該当のRule【書式ルール】の設定項目) (参考関数:DataBarRule【書式ルール生成 (データ バー)】) minLength (int)バーの長さの最小値 (%) [拡張] maxLength (int)バーの長さの最大値 (%) [拡張] showValue (bool)値の表示有無 ( [棒のみ表示]指定の逆 ) cfvo (list | tuple)値オブジェクト リスト color (Color)バーの色 下記は未対応 ・塗りつぶし:塗りつぶし (単色) ・枠線:枠線 (実線)・色 ・横の方向 ・[負の値と軸] |
プロパティ
プロパティ | 型 | 備考 |
---|---|---|
cfvo | list[ FormatObject ] tuple( FormatObject ) | 値オブジェクト リスト (親クラスで定義) 下記を指定 ・最小値 ・最大値 |
color | Color | バーの色 |
maxLength | int | バーの長さの最大値 (%) [拡張:Excel では設定不可] |
minLength | int | バーの長さの最小値 (%) [拡張:Excel では設定不可] |
showValue | bool | 値の表示有無 ( [棒のみ表示]指定の逆 ) |
tagname | str | タグ名 ('dataBar') |
FormatObject【値オブジェクト (条件付き書式)】クラス
クラス定義
プロパティ
プロパティ | 型 | 備考 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
extLst | ExtensionList | 拡張リスト | ||||||||||||||
gte | bool | 以上指定 (アイコン セットで有効) True:>=【以上】 False:>【より大きい】 (Greater Than Or Equal) | ||||||||||||||
tagname | str | タグ名 ('cfvo') | ||||||||||||||
type | str | 値の種類
| ||||||||||||||
val | str float (ValueDescriptor) | 値 str: type【値の種類】が 'formula'【 数式】 または セルアドレス float 変換: その他 |
IconSet【アイコン セット】クラス
クラス定義
クラス | 備考 |
---|---|
親:RuleType【値情報】 | |
class IconSet( iconSet=None, showValue=None, percent=None, reverse=None, cfvo=None) | アイコン セット (参照:該当のRule【書式ルール】の設定項目) iconSet (str)アイコン スタイル showValue (bool)値表示の有無 ( [アイコンのみ表示]指定の逆 ) percent (bool) reverse (bool)アイコンの逆順序指定 ( [アイコン順序を逆にする] ) cfvo値オブジェクト リスト 下記は未対応 ・アイコンスタイルのユーザ設定 |
プロパティ
プロパティ | 型 | 備考 | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cfvo | list[ FormatObject ] tuple( FormatObject ) | 値オブジェクト リスト (親クラスで定義) 下記を指定 (アイコン個数分) ・しきい値 | ||||||||||||||||||||||||||||||||||||||
iconSet | str | アイコン スタイル
| ||||||||||||||||||||||||||||||||||||||
percent | bool | |||||||||||||||||||||||||||||||||||||||
reverse | bool | アイコンの逆順序指定 ( [アイコン順序を逆にする] ) | ||||||||||||||||||||||||||||||||||||||
showValue | bool | 値表示の有無 ( [アイコンのみ表示]指定の逆 ) | ||||||||||||||||||||||||||||||||||||||
tagname | str | タグ名 ('iconSet') |
Rule【書式ルール】クラス
クラス定義
クラス | 備考 |
---|---|
親:openpyxl.descriptors.serialisable.Serialisable インポート:from openpyxl.formatting import Rule (省略形) | |
class Rule( type, dxfId=None, priority=0, stopIfTrue=None, aboveAverage=None, percent=None, bottom=None, operator=None, text=None, timePeriod=None, rank=None, stdDev=None, equalAverage=None, formula=(), colorScale=None, dataBar=None, iconSet=None, extLst=None, dxf=None) | 書式ルール (参照:Rule【書式ルール】の設定項目) type (str)ルールの種類 dxfId (int)差異スタイルId priority (int)ルールの優先順位 stopIfTrue (bool)[条件を満たす場合は停止] 設定有無 aboveAverage (bool)平均より上か下かの指定 percent (bool)パーセント指定有無 bottom (bool)下位指定有無 operator (str)条件演算子 text (str)比較文字列 timePeriod (str)日付期間 rank (int)順位 件数 / パーセンテージ stdDev (int)平均値の上下に含める標準偏差の数 equalAverage (bool)平均値を含む formula (list | tuple)数式リスト colorScale (ColorScale)カラー スケール dataBar (DataBar)データ バー iconSet (IconSet)アイコン セット extLst (ExtensionList)拡張リスト dxf (styles.DifferentialStyle)差異スタイル |
プロパティ
プロパティ | 型 | 備考 | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
aboveAverage | bool | 平均より上か下かの指定 | ||||||||||||||||||||||||||||||||||||||||||||||||||
bottom | bool | 下位指定有無 | ||||||||||||||||||||||||||||||||||||||||||||||||||
colorScale | ColorScale | カラー スケール | ||||||||||||||||||||||||||||||||||||||||||||||||||
dataBar | DataBar | データ バー | ||||||||||||||||||||||||||||||||||||||||||||||||||
dxf | styles.DifferentialStyle | 差異スタイル | ||||||||||||||||||||||||||||||||||||||||||||||||||
dxfId | int | 差異スタイルId | ||||||||||||||||||||||||||||||||||||||||||||||||||
equalAverage | bool | 平均値を含む | ||||||||||||||||||||||||||||||||||||||||||||||||||
extLst | ExtensionList | 拡張リスト | ||||||||||||||||||||||||||||||||||||||||||||||||||
formula | list[ str ] tuple( str ) str に変換可能な型も可 list[ int ] 等 | 数式リスト (指定値は Rule【書式ルール】の設定項目・数式※ を参照) | ||||||||||||||||||||||||||||||||||||||||||||||||||
iconSet | IconSet | アイコン セット | ||||||||||||||||||||||||||||||||||||||||||||||||||
operator | str | 条件演算子
| ||||||||||||||||||||||||||||||||||||||||||||||||||
percent | bool | パーセント指定有無 (選択範囲に占める割合) | ||||||||||||||||||||||||||||||||||||||||||||||||||
priority | int (1~) | ルールの優先順位 (1:最優先) | ||||||||||||||||||||||||||||||||||||||||||||||||||
rank | int | 順位 (件数 / パーセンテージ) | ||||||||||||||||||||||||||||||||||||||||||||||||||
stdDev | int | 平均値の上下に含める標準偏差の数 | ||||||||||||||||||||||||||||||||||||||||||||||||||
stopIfTrue | bool | [条件を満たす場合は停止] 設定有無 | ||||||||||||||||||||||||||||||||||||||||||||||||||
tagname | str | タグ名 ('cfRule') | ||||||||||||||||||||||||||||||||||||||||||||||||||
text | str | 比較文字列 | ||||||||||||||||||||||||||||||||||||||||||||||||||
timePeriod | str | 日付期間
| ||||||||||||||||||||||||||||||||||||||||||||||||||
type | str | ルールの種類 (設定が必要な項目は、Rule【書式ルール】の設定項目 を参照)
|
RuleType【値情報】クラス
メモ
クラス定義
クラス | 備考 |
---|---|
親:openpyxl.descriptors.serialisable.Serialisable | |
class RuleType( ) | 値情報 |
プロパティ
プロパティ | 型 | 備考 |
---|---|---|
cfvo | list[ FormatObject ] tuple( FormatObject ) | 値オブジェクト リスト |
ValueDescriptor【値ディスクリプタ】クラス
メモ
- FormatObject【値オブジェクト (条件付き書式)】の val【値】プロパティで使用
クラス定義
クラス | 備考 |
---|---|
親:openpyxl.descriptors.base.Float | |
class ValueDescriptor( ) | 値ディスクリプタ |
操作
操作 | 備考 |
---|---|
設定 | str: type【値の種類】が 'formula'【 数式】 または セルアドレス float 変換: その他 |