作成日: 2019/07/01 最終更新日: 2019/07/01
文書種別
使用方法
詳細
SUBTOTAL関数の第1引数(functioncode 引数)に101~111を設定することで、非表示のセルを除いた数式の集計を行うことができます。また、列フッタで使用するAggregationType 列挙体に非表示の値を無視する集計方法(XXXIgnoreHidden)を使用するこで、列フッタで非表示のセルを除いた集計を行うことができます。
◎サンプルコード(VB)
◎サンプルコード(C#)
◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 自動フィルタリング機能を有効化
FpSpread1.ActiveSheet.Columns(0).AllowAutoFilter = True
' テストデータの設定
FpSpread1.ActiveSheet.RowCount = 10
For i As Integer = 0 To FpSpread1.ActiveSheet.RowCount - 1
If 4 < i Then
FpSpread1.ActiveSheet.Cells(i, 0).Value = "非表示"
Else
FpSpread1.ActiveSheet.Cells(i, 0).Value = "表示"
End If
FpSpread1.ActiveSheet.Cells(i, 1).Value = i + 1
Next
' 1列目を"表示"でフィルタリング
FpSpread1.ActiveSheet.AutoFilterColumn(0, "表示", 0)
' 数式の設定
FpSpread1.ActiveSheet.Cells(0, 2).Formula = "SUBTOTAL(109,B1:B10)"
' 列フッタの設定
FpSpread1.ActiveSheet.ColumnFooterVisible = True
FpSpread1.ActiveSheet.ColumnFooter.SetAggregationType(0, 1, FarPoint.Win.Spread.Model.AggregationType.SumIgnoreHidden)
End Sub
' 自動フィルタリング機能を有効化
FpSpread1.ActiveSheet.Columns(0).AllowAutoFilter = True
' テストデータの設定
FpSpread1.ActiveSheet.RowCount = 10
For i As Integer = 0 To FpSpread1.ActiveSheet.RowCount - 1
If 4 < i Then
FpSpread1.ActiveSheet.Cells(i, 0).Value = "非表示"
Else
FpSpread1.ActiveSheet.Cells(i, 0).Value = "表示"
End If
FpSpread1.ActiveSheet.Cells(i, 1).Value = i + 1
Next
' 1列目を"表示"でフィルタリング
FpSpread1.ActiveSheet.AutoFilterColumn(0, "表示", 0)
' 数式の設定
FpSpread1.ActiveSheet.Cells(0, 2).Formula = "SUBTOTAL(109,B1:B10)"
' 列フッタの設定
FpSpread1.ActiveSheet.ColumnFooterVisible = True
FpSpread1.ActiveSheet.ColumnFooter.SetAggregationType(0, 1, FarPoint.Win.Spread.Model.AggregationType.SumIgnoreHidden)
End Sub
◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
// 自動フィルタリング機能を有効化
fpSpread1.ActiveSheet.Columns[0].AllowAutoFilter = true;
// テストデータの設定
fpSpread1.ActiveSheet.RowCount = 10;
for (int i = 0; i < fpSpread1.ActiveSheet.RowCount; i++)
{
if(4 < i)
{
fpSpread1.ActiveSheet.Cells[i, 0].Value = "非表示";
}
else
{
fpSpread1.ActiveSheet.Cells[i, 0].Value = "表示";
}
fpSpread1.ActiveSheet.Cells[i, 1].Value = i + 1;
}
// 1列目を"表示"でフィルタリング
fpSpread1.ActiveSheet.AutoFilterColumn(0, "表示", 0);
// 数式の設定
fpSpread1.ActiveSheet.Cells[0, 2].Formula = "SUBTOTAL(109,B1:B10)";
// 列フッタの設定
fpSpread1.ActiveSheet.ColumnFooterVisible = true;
fpSpread1.ActiveSheet.ColumnFooter.SetAggregationType(0, 1, FarPoint.Win.Spread.Model.AggregationType.SumIgnoreHidden);
}
{
// 自動フィルタリング機能を有効化
fpSpread1.ActiveSheet.Columns[0].AllowAutoFilter = true;
// テストデータの設定
fpSpread1.ActiveSheet.RowCount = 10;
for (int i = 0; i < fpSpread1.ActiveSheet.RowCount; i++)
{
if(4 < i)
{
fpSpread1.ActiveSheet.Cells[i, 0].Value = "非表示";
}
else
{
fpSpread1.ActiveSheet.Cells[i, 0].Value = "表示";
}
fpSpread1.ActiveSheet.Cells[i, 1].Value = i + 1;
}
// 1列目を"表示"でフィルタリング
fpSpread1.ActiveSheet.AutoFilterColumn(0, "表示", 0);
// 数式の設定
fpSpread1.ActiveSheet.Cells[0, 2].Formula = "SUBTOTAL(109,B1:B10)";
// 列フッタの設定
fpSpread1.ActiveSheet.ColumnFooterVisible = true;
fpSpread1.ActiveSheet.ColumnFooter.SetAggregationType(0, 1, FarPoint.Win.Spread.Model.AggregationType.SumIgnoreHidden);
}
旧文書番号
84174