フォーミュラや関数を使用してデータを処理する

フォーミュラと関数を使用する

Aspose.Cells は Microsoft Excel ファイルを表す Workbook クラスを提供します。Workbook クラスは Excel ファイル内の各ワークシートにアクセスを可能にする Worksheets コレクションを含みます。ワークシートは Worksheet クラスで表されます。Worksheet クラスは Cells コレクションを提供します。Cells コレクションの各アイテムは Cell クラスのオブジェクトを表します。

Cell クラスが提供するプロパティやメソッドを使用してセルにフォーミュラを適用することができます。詳細は以下で議論されます。

組み込み関数の使用

組み込みの関数または数式は、開発者の努力と時間を削減するために準備された関数です。組み込みの関数の一覧をご覧ください。 関数はアルファベット順にリストされています。将来的にはさらに多くの関数がサポートされます。

Aspose.Cellsは、Microsoft Excelが提供するほとんどの数式または関数をサポートしています。 開発者はAPIまたはデザイナースプレッドシートを通じてこれらの数式を使用できます。 Aspose.Cellsは、数学、文字列、ブール、日付/時刻、統計、データベース、検索、参照の数式の豊富なセットをサポートしています。

セルに数式を追加するには、CellクラスのFormulaプロパティを使用します。たとえば、複雑な数式

 = H7*(1+IF(P7 = $L$3,$M$3, (IF(P7=$L$4,$M$4,0))))

、Aspose.Cellsでは複雑な数式もサポートされています。セルに数式を適用する際は、常に文字列を等号(=)で始めてマイクロソフトExcelで数式を作成するときと同様に関数パラメータを区切るためにコンマ(,)を使用してください。

以下の例では、ワークシートのCellsコレクションの最初のセルに複雑な数式が適用されています。この数式では、Aspose.Cellsで提供される組み込みのIF関数が使用されています。

アドイン関数の使用

Excelアドインとして含めたいユーザー定義の数式があるかもしれません。Cell.Formula関数を設定すると組み込み関数は正常に動作しますが、アドイン関数を設定する必要があります。

Aspose.CellsはWorksheets.RegisterAddInFunction()を使用してアドイン関数を登録する機能を提供しています。その後、Cell.Formula = anyFunctionFromAddInとすると、出力されるExcelファイルにはアドイン関数からの計算された値が含まれます。

以下のサンプルコードでは、アドイン関数の登録を行います。同様に、「test_udf.xlsx」という出力ファイルをダウンロードして結果を確認することもできます。

TestUDF.xlam

test_udf.xlsx

配列数式の使用

配列数式は、数式を構成する関数への個々の数値の代わりに配列と連動する数式です。配列数式が表示されると、以下に示すように波括弧({})で囲まれています。

セルG2に配列数式を設定

todo:image_alt_text

いくつかのMicrosoft Excel関数は値の配列を返します。配列数式を使用して複数の結果を計算するには、配列を配列引数と同じ行数および列数のセル範囲に入力してください。

配列数式をセルに適用するには、CellクラスのsetArrayFormulaメソッドを呼び出すことができます。setArrayFormulaメソッドは次のパラメータを取ります。

  • 配列数式、配列数式。
  • 行数、配列数式の結果を設定する行数。
  • 列数、配列数式の結果を設定する列数。

R1C1形式の数式の使用

R1C1参照スタイルの数式を、CellクラスのsetR1C1Formulaプロパティを使用してセルに適用します。