次の方法で共有


条件付き書式を操作する

このトピックでは、Open XML SDK ConditionalFormatting クラスと、Open XML ファイル形式 SpreadsheetML スキーマとの関係について説明します。 SpreadsheetML ドキュメントを構成するパーツと要素の全体的な構造の詳細については、「 SpreadsheetML ドキュメントの構造」を参照してください。


SpreadsheetML の条件付き書式

セル ベースの条件付き書式は、ワークシート内のデータに構造を与えます。 値だけでなく色も表示することによって、それらの値の高さ (相対) を見分けやすくなります。 セルの値に基づいて書式を適用できるさまざまなオプションがあります。 最上位または最下位のアイテムを強調表示することや、データ バーを設定して進行状況バー形式のユーザー インターフェイスを表示することや、カラー スケールを使用して値の高低を示すことができます。 条件付き書式はワークシート内のセルに直接適用できます。 値がテーブルの一部である必要はありません。

条件付き書式の設定は、すべてワークシート レベルで格納されます。 ワークシートには、セルまたは一連のセルに適用される形式ごとに 1 つの <conditionalFormatting/> 要素が格納されます。 書式が適用されるセルのコレクションは、 sqref 属性を使用して定義されます。 sqref属性は、"A1:A10" などの 'from:to' 表記を使用してセル範囲を指定します。

次の表に、 ConditionalFormatting クラスを操作するときに使用される一般的な Open XML SDK クラスを示します。

SpreadsheetML の要素 Open XML SDK クラス
<cfRule/> ConditionalFormattingRule
<dataBar/> DataBar
<colorScale/> ColorScale
<iconSet/> IconSet

Open XML SDK 条件付き書式クラス

Open XML SDK ConditionalFormatting クラスは、SpreadsheetML ドキュメントの Open XML ファイル形式スキーマで定義されているテーブル (<conditionalFormatting/>) 要素を表します。 ConditionalFormatting クラスを使用して、SpreadsheetML ドキュメント内の個々の<conditionalFormatting/>要素を操作します。

ISO/IEC 29500 仕様の次の情報では、ConditionalFormatting (<conditionalFormatting/>) 要素について説明します。

条件付き書式は、指定された条件が満たされている場合にスプレッドシート アプリケーションによって自動的にセルに適用される、セルの網かけやフォントの色などの書式です。 このコレクションは、特定のセルまたは範囲に適用される条件付き書式ルールを表しています。

例: この例では、'top10' ルールをセル C3:C8 に適用します。 @dxfIdは、条件に一致するセルに適用される書式設定 (スタイル パーツで定義) を参照します。

    <conditionalFormatting sqref="C3:C8">
        <cfRule type="top10" dxfId="1" priority="3" rank="2"/>
    </conditionalFormatting>

© ISO/IEC 29500: 2016

条件付き書式ルールのクラス

ISO/IEC 29500 仕様の次の情報では、 ConditionalFormattingRule (<cfRule/>) 要素について説明します。

このコレクションは、条件付き書式ルールの説明を表します。

例:

この例は、値が 0.5 よりも大きいセルを強調表示する条件付き書式ルールを示しています。 この例では <formula/> の内容が静的な値ですが、数式を使用することもできます。

    <conditionalFormatting sqref="E3:E9">
        <cfRule type="cellIs" dxfId="0" priority="1" operator="greaterThan">
            <formula>0.5</formula>
        </cfRule>
    <conditionalFormatting>

数式の構文は、type 属性の値が expression になっているルールでのみサポートされます。

© ISO/IEC 29500: 2016

個々の条件付き書式では、さまざまな書式ルールを指定できます。 たとえば、カラー スケールとデータ バーの書式を同時に適用できます。 各条件付き書式は、個別の <cfRule/> 要素を使用して表されます。 ユーザー インターフェイスの表示優先度を指定するには、 priority 属性を使用できます。 <conditionalFormatting/>要素はワークシート上の他の書式設定された領域と重複する可能性があるため、そのワークシートに対して定義されているすべての条件付き書式の優先度はグローバルです。

<cfRule/>要素には、cellIstop10など、多くの書式設定の種類があります。これは適用できます。 Each type of formatting uses common elements to define its settings. 条件付き書式のルール属性の詳細については、ISO/IEC 29500 仕様書を参照してください。

データ バー クラス

ISO/IEC 29500 仕様の次の情報では、 DataBar (<dataBar/>) 要素について説明します。

データ バーの条件付き書式ルールについて説明します。

例:

この例では、セル範囲内のすべてのセルの値に適用される、青い色のデータ バー条件付き書式について説明します。

    <dataBar>
        <cfvo type="min" val="0"/>
        <cfvo type="max" val="0"/>
        <color rgb="FF638EC6"/>
    </dataBar>

セルのデータ バーの長さは、次のように計算できます。

データ バーの長さ = 最小長 + (セルの値 - 範囲内の最小値) / (範囲内の最大値 - 範囲内の最小値) * (最大長 - 最小長)

この式で、最小長と最大長は列幅の固定パーセンテージ (既定では、それぞれ 10% と 90%) です。

長さの最小間隔 (増分量) は 1 ピクセルです。

© ISO/IEC 29500: 2016

データ バーは、単一の色を取り、それをバーとして表示します。 バーの長さは、セル値の相対的な高さを示します。 データ バーは、その設定を定義するため、条件付き書式ルール内で別個のモデルを使用します。 <dataBar/>要素には、関連するすべてのデータが格納されます。 1 つのデータ バーには、セル値と比較する最小値と最大値、および色の 3 つの設定値が必要です。 最初の <cfvo/> 要素または条件付き書式の値オブジェクトは最小値を定義し、2 番目の <cfvo/> 要素は最大値を定義します。 値は、数式を使用したり値をハードコーディングしたりして、さまざまな方法で指定できます。 よく使用される別のオプションは、'min' 型と 'max' 型を使用する方法です。 これらの <cfvo/> 要素型は、書式が適用されているセル範囲の最小値と最大値を指定します。 これにより、最小項目と最大項目の間でのきれいな勾配が実現されます。 さらに、 <color/> 要素を使用して、データ バーの色を指定できます。

カラー スケール クラス

ISO/IEC 29500 仕様の次の情報では、 ColorScale (<colorScale/>) 要素について説明します。

この条件付き書式ルール内のカラー スケール グラデーションについて説明します。

例:

    <colorScale>
        <cfvo type="min" val="0"/>
        <cfvo type="max" val="0"/>
        <color theme="5"/>
        <color rgb="FFFFEF9C"/>
    </colorScale>

© ISO/IEC 29500: 2016

カラー スケールは、データ バーと同じように、全セル項目の間の相対値を示す表示を提供します。 カラー スケールの設定には、条件付き書式ルールの中で別個のモデルが使用されます。 最大 3 つの <cfvo/>、または条件付き書式値オブジェクト、要素値を指定できます。1 つはスケールの開始、1 つはスケールの中央、もう 1 つはスケールの終わりです。 中間値はオプションです。 さらに、 <color/> 要素を使用して、カラー スケールの色を指定できます。

アイコン セットのクラス

ISO/IEC 29500 仕様の次の情報では、 IconSet (<iconSet/>) 要素について説明します。

アイコン セット条件付き書式ルールについて説明します。

例: この例は、アイコンの 3Arrows スタイルを示すものです。 セット中の最初のアイコンは、セル値が 33% の位置の値より小さい場合に表示されます。 セルの値が第 67 百分位数未満で第 33 百分位数以上の場合は、セット内の 2 番目のアイコンを表示する必要があります。 セルの値が第 67 百分位数以上の場合は、セット内の 3 番目のアイコンを表示する必要があります。

    <iconSet iconSet="3Arrows">
        <cfvo type="percentile" val="0"/>
        <cfvo type="percentile" val="33"/>
        <cfvo type="percentile" val="67"/>
    </iconSet>

© ISO/IEC 29500: 2016

アイコン セットを使用すると、データが含まれるセルにさまざまなアイコンのセットを適用できます。 アイコン セットでは、値の範囲を使用して、書式ルールを適用するセルを識別します。 最初の <cfvo/> 要素は範囲の最小値を識別し、2 番目の <cfvo/>element は中間点を識別し、3 番目の <cfvo/> 要素は最大値を識別します。 アイコン セットは、セルに適用されるアイコンの種類を識別します。 ハードコードされたさまざまなアイコンの中から選択できます。 使用できるアイコンの詳細については、ISO/IEC 29500 の仕様を参照してください。