SPREAD for WPF 3.0J - GcSpreadSheet
条件付き書式
SPREAD for WPF 3.0J - GcSpreadSheet > 開発者ガイド > 外観設定 > 条件付き書式

GcSpreadSheetでは、ワークシートのセルに条件付き書式を適用できます。本機能で、データの視覚化が拡張され、ワークシートの解析にも役立ちます。ワークシートに条件付き書式ルールを適用するには、IFormatConditionsインタフェースのプロパティとメソッドを使用できます。

条件付き書式ルールのいくつかの基本条件は次のとおりです。

カラースケールルール

カラースケールルールは、さまざまな色合いを使用してセル範囲内の値を高い、中間、低い値として表す場合に役立ちます。このルールはスライド式カラースケールを使用し、スケールで2色(2スケールルール)または、3色(3スケールルール)を使用するオプションがあります。

例えば、緑、黄、赤のカラースケールでは、緑色で高い値、黄色で中間の値と赤色でより低い値を指定できます。

カラースケールルールを適用するには、IFormatConditionsインタフェースのAddColorScaleメソッドを使用できます。カラースケールルールを定義するときに、CfValueType列挙体のNumericフィールドを使用して書式タイプを指定し、KnownColor列挙体と共にColor構造体のIsKnownColorメソッドを使用して書式の色を指定できます。

 

 

 

 

 

 

コードのコピー
// カラースケールルール
GrapeCity.Spreadsheet.IColorScale colorScale = 
GcSpreadSheet.Workbook.ActiveSheet.Range("D1:D15").FormatConditions.AddColorScale(2);
            
colorScale.ColorScaleCriteria[0].Type = GrapeCity.Spreadsheet.CfValueType.Numeric;
colorScale.ColorScaleCriteria[0].Value = 1;
colorScale.ColorScaleCriteria[0].FormatColor = GrapeCity.Spreadsheet.Color.FromKnownColor(GrapeCity.Core.KnownColor.Red);
colorScale.ColorScaleCriteria[1].Type = GrapeCity.Spreadsheet.CfValueType.Numeric;
colorScale.ColorScaleCriteria[1].Value = 5;
colorScale.ColorScaleCriteria[1].FormatColor = GrapeCity.Spreadsheet.Color.FromKnownColor(GrapeCity.Core.KnownColor.Orange);

for (int i = 0; i < 15; i++)
{
    GcSpreadSheet.Workbook.ActiveSheet.Cells[i, 3].Value = i - 5;
}
コードのコピー
'カラースケールルール
Dim colorScale As GrapeCity.Spreadsheet.IColorScale =
    GcSpreadSheet.Workbook.ActiveSheet.Range("D1:D15").FormatConditions.AddColorScale(2)
colorScale.ColorScaleCriteria(0).Type =
GrapeCity.Spreadsheet.CfValueType.Numeric
colorScale.ColorScaleCriteria(0).Value = 1
colorScale.ColorScaleCriteria(0).FormatColor =
GrapeCity.Spreadsheet.Color.FromKnownColor(GrapeCity.Core.KnownColor.Red)
colorScale.ColorScaleCriteria(1).Type =
GrapeCity.Spreadsheet.CfValueType.Numeric
colorScale.ColorScaleCriteria(1).Value = 5
colorScale.ColorScaleCriteria(1).FormatColor =
GrapeCity.Spreadsheet.Color.FromKnownColor(GrapeCity.Core.KnownColor.Orange)

For i As Integer = 0 To 15 - 1
    GcSpreadSheet.Workbook.ActiveSheet.Cells(i, 3).Value = i - 5
Next

データバールール

データバールールは、セル値に基づいてセルにバーを表示します。データバーの長さはデータ値に該当し、そのデータ値がワークシートの他のデータに相対します。セルの値が大きいほど、バーは長くなります。

データバールールを適用するには、IFormatConditionsインタフェースのAddDatabarメソッドを使用できます。データバールールを定義する際、Color構造体のFromArgbメソッドを使用してデータバーの色を指定し、DatabarNegativeColorType列挙体を使用して色の種類を指定できます。軸の位置を設定するには、IDatabarインタフェースのAxisPositionプロパティを使用できます。  

 

 

 

 

 

 

 

コードのコピー
// データバールール
GrapeCity.Spreadsheet.IDatabar databar = 
GcSpreadSheet.Workbook.ActiveSheet.Range("E1:E15").FormatConditions.AddDatabar();
            
databar.NegativeBarFormat.Color = GrapeCity.Spreadsheet.Color.FromArgb(255, 0, 0);
databar.NegativeBarFormat.ColorType = GrapeCity.Spreadsheet.DatabarNegativeColorType.Color;
databar.AxisPosition = GrapeCity.Spreadsheet.DatabarAxisPosition.Middle;
            
for (int i = 0; i < 15; i++)
{
    GcSpreadSheet.Workbook.ActiveSheet.Cells[i, 4].Value = i - 5;
}
コードのコピー
'データバールール
Dim databar As GrapeCity.Spreadsheet.IDatabar =
    GcSpreadSheet.Workbook.ActiveSheet.Range("E1:E15").FormatConditions.AddDatabar()

databar.NegativeBarFormat.Color = GrapeCity.Spreadsheet.Color.FromArgb(255, 0, 0)
databar.NegativeBarFormat.ColorType = GrapeCity.Spreadsheet.DatabarNegativeColorType.Color
databar.AxisPosition = GrapeCity.Spreadsheet.DatabarAxisPosition.Middle

For i As Integer = 0 To 15 - 1
    GcSpreadSheet.Workbook.ActiveSheet.Cells(i, 4).Value = i - 5
Next

強調表示ルール

ワークシートで強調表示ルールを適用して関連情報を強調できます。次のデータ強調表示ルールのリストから定義済みのスタイルを適用するか、特定の設定に従ってカスタムの強調表示スタイルを作成することにより、データを強調表示できます。

以下のいずれかの条件を満たすデータを強調表示できます。

ワークシートで強調表示ルールを適用するには、IFormatConditionsインタフェースのAddUniqueValuesメソッドを使用して、上記の条件のいずれかを設定できます。次に、各セルが比較される値または数式を入力する必要があり、指定した条件を満たすセルデータに基づいて書式設定が適用されます。

コードのコピー
// 強調表示ルール  
GrapeCity.Spreadsheet.IUniqueValues uniqueValueSet = 
GcSpreadSheet.Workbook.ActiveSheet.Range("F1:F15").FormatConditions.AddUniqueValues();
            
uniqueValueSet.DupeUnique = GrapeCity.Spreadsheet.DupeUnique.Unique;
uniqueValueSet.Font.Color = GrapeCity.Spreadsheet.Color.FromKnownColor(GrapeCity.Core.KnownColor.Green);
uniqueValueSet.Font.Name = "Algerian";
uniqueValueSet.Font.Superscript = true;
            
for (int i = 0; i < 15; i++)
{
    GcSpreadSheet.Workbook.ActiveSheet.Cells[i, 5].Value = 10;
}
            
GcSpreadSheet.Workbook.ActiveSheet.Cells[5, 5].Value = 11;
GcSpreadSheet.Workbook.ActiveSheet.Cells[7, 5].Value = 12;
GcSpreadSheet.Workbook.ActiveSheet.Cells[10, 5].Value = 13;
GcSpreadSheet.Workbook.ActiveSheet.Cells[12, 5].Value = 14;
コードのコピー
'強調表示ルール 
Dim uniqueValueSet As GrapeCity.Spreadsheet.IUniqueValues =
    GcSpreadSheet.Workbook.ActiveSheet.Range("F1:F15").FormatConditions.AddUniqueValues()

uniqueValueSet.DupeUnique = GrapeCity.Spreadsheet.DupeUnique.Unique
uniqueValueSet.Font.Color = GrapeCity.Spreadsheet.Color.FromKnownColor(GrapeCity.Core.KnownColor.Green)
uniqueValueSet.Font.Name = "Algerian"
uniqueValueSet.Font.Superscript = True

For i As Integer = 0 To 15 - 1
    GcSpreadSheet.Workbook.ActiveSheet.Cells(i, 5).Value = 10
Next

GcSpreadSheet.Workbook.ActiveSheet.Workbook.ActiveSheet.Cells(5, 5).Value = 11
GcSpreadSheet.Workbook.ActiveSheet.Workbook.ActiveSheet.Cells(7, 5).Value = 12
GcSpreadSheet.Workbook.ActiveSheet.Workbook.ActiveSheet.Cells(10, 5).Value = 13
GcSpreadSheet.Workbook.ActiveSheet.Workbook.ActiveSheet.Cells(12, 5).Value = 14

アイコンセットルール

アイコンセットルールは、セルの値が指定された値より大きい、等しい、または小さい場合、カスタムアイコンを表示します。

ワークシートにアイコンセットルールを適用するには、IFormatConditionsインタフェースのAddIconSetConditionメソッドを使用します。 IconSetType列挙体を使用して、アイコンセットの種類を指定できます。 次に、IIconCriteriaインタフェースのメソッドとプロパティを使用して、アイコンセットルールを適用するための条件を指定できます。 

 

 

 

 

 

 

 

コードのコピー
// アイコンセットルール
GrapeCity.Spreadsheet.IIconSetCondition iconSet = 
GcSpreadSheet.Workbook.ActiveSheet.Range("G1:G15").FormatConditions.AddIconSetCondition();
            
iconSet.IconSet = GrapeCity.Spreadsheet.IconSetType.ThreeSymbols;
iconSet.IconCriteria[1].Operator = GrapeCity.Spreadsheet.Operator.GreaterThanOrEqual;
iconSet.IconCriteria[1].Value = 50;
iconSet.IconCriteria[1].Type = GrapeCity.Spreadsheet.CfValueType.Percent;
iconSet.IconCriteria[2].Operator = GrapeCity.Spreadsheet.Operator.GreaterThanOrEqual;
iconSet.IconCriteria[2].Value = 70;
iconSet.IconCriteria[2].Type = GrapeCity.Spreadsheet.CfValueType.Percent;
            
for (int i = 0; i < 15; i++)
{
    GcSpreadSheet.Workbook.ActiveSheet.Cells[i, 6].Value = i - 5;
}
コードのコピー
'アイコンセットルール
Dim iconSet As GrapeCity.Spreadsheet.IIconSetCondition =
    GcSpreadSheet.Workbook.ActiveSheet.Workbook.ActiveSheet.Range("G1:G15").FormatConditions.AddIconSetCondition()

iconSet.IconSet = GrapeCity.Spreadsheet.IconSetType.ThreeSymbols
iconSet.IconCriteria(1).[Operator] = GrapeCity.Spreadsheet.[Operator].GreaterThanOrEqual
iconSet.IconCriteria(1).Value = 50
iconSet.IconCriteria(1).Type = GrapeCity.Spreadsheet.CfValueType.Percent
iconSet.IconCriteria(2).[Operator] = GrapeCity.Spreadsheet.[Operator].GreaterThanOrEqual
iconSet.IconCriteria(2).Value = 70
iconSet.IconCriteria(2).Type = GrapeCity.Spreadsheet.CfValueType.Percent

For i As Integer = 0 To 15 - 1
    GcSpreadSheet.Workbook.ActiveSheet.Workbook.ActiveSheet.Cells(i, 6).Value = i - 5
Next

上位、下位、平均ルール

上位・下位ルールは、値が上位10パーセントまたは下位10パーセント内にあるセルに書式設定を適用します。Top10ルールは、TopBottom列挙体を使用して上位または下位の値を指定します。また、Rankプロパティを使用してパーセンテージを変更できます。平均ルールは、平均値を上回る値または平均値を下回る値を確認します。このルールは、範囲全体のより大きいまたは小さい平均値に書式を適用します。

上位、下位、または平均ルールを適用するには、IFormatConditionsインタフェースのAddTop10メソッドまたはAddAboveAverageメソッドを使用します。

 

 

 

 

 

 

 

 

コードのコピー
// 上位、下位、平均ルール(上位50パーセントの値に書式を適用します)
GrapeCity.Spreadsheet.ITop10 top10Set = 
GcSpreadSheet.Workbook.ActiveSheet.Range("H1:H15").FormatConditions.AddTop10();
            
top10Set.TopBottom = GrapeCity.Spreadsheet.TopBottom.Top10Top;
top10Set.Rank = 50;
top10Set.Percent = true;
top10Set.Interior.Color = GrapeCity.Spreadsheet.Color.FromKnownColor(GrapeCity.Core.KnownColor.Aqua);
            
for (int i = 0; i < 15; i++)
{
    GcSpreadSheet.Workbook.ActiveSheet.Cells[i, 7].Value = i - 5;
}
コードのコピー
'上位、下位、平均ルール(上位50パーセントの値に書式を適用します)
Dim top10Set As GrapeCity.Spreadsheet.ITop10 =
    GcSpreadSheet.Workbook.ActiveSheet.Workbook.ActiveSheet.Range("H1:H15").FormatConditions.AddTop10()

top10Set.TopBottom = GrapeCity.Spreadsheet.TopBottom.Top10Top
top10Set.Rank = 50
top10Set.Percent = True
top10Set.Interior.Color = GrapeCity.Spreadsheet.Color.FromKnownColor(GrapeCity.Core.KnownColor.Aqua)

For i As Integer = 0 To 15 - 1
    GcSpreadSheet.Workbook.ActiveSheet.Workbook.ActiveSheet.Cells(i, 7).Value = i - 5
Next