組込関数は 122 種です。名前と引数は Excel に準拠しています。
未登録の関数名を使うと #NAME? になります。独自の関数は追加できます
(カスタム関数)。
数学・三角
| 基本 | ABS SIGN INT TRUNC MOD POWER EXP SQRT PI |
| 対数 | LN LOG LOG10 |
| 丸め | ROUND ROUNDUP ROUNDDOWN CEILING FLOOR MROUND |
| 三角 | SIN COS TAN ASIN ACOS ATAN ATAN2 DEGREES RADIANS |
| 集計 | SUM SUMIF SUMIFS SUMPRODUCT SUMSQ PRODUCT |
| 乱数 | RAND RANDBETWEEN |
統計
| 代表値 | AVERAGE AVERAGEIF AVERAGEIFS MEDIAN MAX MIN |
| 個数 | COUNT COUNTA COUNTBLANK COUNTIF COUNTIFS |
| 順位 | LARGE SMALL RANK |
| ばらつき | STDEV STDEVP VAR VARP |
論理
IF IFS IFERROR IFNA AND OR NOT XOR SWITCH TRUE FALSE
文字列
| 抽出 | LEFT RIGHT MID LEN |
| 検索 | FIND SEARCH EXACT |
| 変換 | UPPER LOWER PROPER TRIM VALUE TEXT N |
| 結合・置換 | CONCAT CONCATENATE TEXTJOIN REPLACE SUBSTITUTE REPT |
| 文字コード | CHAR CODE |
FIND は大文字小文字を区別し、SEARCH は区別しません(Excel と同じ)。
情報
ISBLANK ISERR ISERROR ISNA ISNUMBER ISTEXT ISNONTEXT ISLOGICAL
ISEVEN ISODD NA
検索・参照
VLOOKUP HLOOKUP INDEX MATCH OFFSET CHOOSE ROW ROWS COLUMN COLUMNS
ROW / COLUMN / OFFSET などの参照を返す関数は、引数の構文木を直接読む遅延評価です。
そのため OFFSET(A1, 1, 0) のように参照そのものを返す使い方ができます。
日付・時刻
| 現在時刻 | TODAY NOW |
| 生成 | DATE TIME DATEVALUE |
| 取り出し | YEAR MONTH DAY HOUR MINUTE SECOND WEEKDAY |
| 計算 | DAYS EDATE EOMONTH |
日付は OLE オートメーションのシリアル値として保持されます。1900 年方式と 1904 年方式の どちらの XLSX も読み込めます。
条件式(SUMIF 系)
SUMIF / COUNTIF / AVERAGEIF とその複数条件版は、Excel と同じ条件文字列を受け付けます。
| 条件 | 意味 |
|---|---|
">100" | 100 より大きい |
"<=0" | 0 以下 |
"<>" | 空でない |
"りんご" | 完全一致(大文字小文字を区別しない) |
"り*" | ワイルドカード(* は 0 文字以上、? は 1 文字) |
エラーの伝播
引数のいずれかがエラーの場合、原則としてそのエラーがそのまま返ります。
例外は IFERROR / IFNA / ISERROR / ISERR / ISNA で、これらはエラーを受け取って処理します。
Excel との差異
- 関数名のローカライズには対応していません。 日本語の関数名(
合計など)は使えません JIS/ASC/DBCS/PHONETICは未実装です。PHONETICはセルにふりがな属性を 持たせる仕組みが前提になるため、単独では実装していません- 動的配列関数は未実装です —
FILTERSORTUNIQUESEQUENCELETLAMBDA
登録されている関数を列挙する
foreach (string name in unvell.ReoGrid.Core.Formula.FunctionRegistry.Default.Names)
Console.WriteLine(name);
この一覧が常に正本です。本ページと食い違う場合は実装側が正しいものとして扱ってください。