Excel と Origin の関数比較
以下の表では、セル値の設定に使用できるOrigin関数と一般的なExcel関数を比較します。
データ参照
Excelと同様、Originもドラッグ&ドロップによる行や列をまたがった式の拡張が可能です。また、相対参照と絶対参照の2種類を導入しています。相対参照は、セル式を他の行または列にドラッグアンドドロップして拡張すると内容が変更されます。一方、絶対参照は一定のままです。
| Notes: セル式を他のセルにコピーすると、Excelでは列と行の参照が相対的に調整されます。この場合、Originでは調整されません。 |
| 説明 | Originセル表記法 | Excel表記法 |
|---|---|---|
| 列Aの第1行を参照 | A1 | A1 |
| 列A全体 |
A | A:A |
| 複数列 | A1:C0 または join(A:C) | A:C |
| セルの範囲 | A1:C5 | A1:C5 |
| セルの複数範囲 | join(A1:B5,C7:D10) | (A1:B5,C7:D10) |
| 同じブックの最初のシートのA1を参照 | 1!A1 Sheet1!A1 |
Sheet1!A1 |
| 他のブックBook1の最初のシートのA1を参照 | [Book1]1!A1 [Book1]Sheet1!A1 |
[Book1]Sheet1!A1 |
| 説明 | Originセル表記法 | Excel表記法 |
|---|---|---|
| 列Aの第1行を参照 | $A$1 | $A$1 |
| 列A全体 | A | $A:$A |
| セルの範囲 | $A$1:$C$5 | $A$1:$C$5 |
| 同じブックの最初のシートのA1を参照 | 1!$A$1 Sheet1!$A$1 |
Sheet1!$A$1 |
| 他のブックBook1の最初のシートのA1を参照 | [Book1]1!$A$1 [Book1]Sheet1!$A$1 |
[Book1]Sheet1!$A$1 |
| Originセル表記法 | Excel表記法 |
|---|---|
| テキストまたは返されたテキスト値を持つセルへの参照は後ろに、$ 記号をつけます サンプル: A1$
left(A1$, 2)$ |
テキストまたは数値セルへの参照は同じ方法で行われます。 サンプル: A1 left(A1, 2) |
$ は、大きく分けて2つの方法でOriginの式中で使用されます。$ が列または行の参照の前にある場合、絶対列または行の参照を作成するように機能します。$ が列または行の参照に追加された場合、文字列変数に保存されている値を返すように機能します。 |
よく使用される関数
| 説明 | Originセル表記法 | Excel表記法 |
|---|---|---|
| 範囲の平均を返す | mean(A1:A6)1 | average(A1:A6) |
| セルの値を合計 | total(A1:A3) 1 sum(A1:A3) 2 |
sum(A1:A3) |
| 列AからC、DからG、およびFの値の行ごとの合計を返す | sum(A:C, D:G, F) | =SUM(A1:C1, D1:G1, F1) |
| 条件が真であれば1つの値を返し、偽であれば別の値を返す | if(A1<98.6, A1-98.6, NA()) または (A1<=98.6)?(A1-98.6):NA()1 |
if(A1<98.6, A1-98.6, NA()) |
| 列B行1、列C行1の文字列を連結 | B1$ + C1$ | B1 & C1 concatenate(B1, C1) |
| 列Aと列Bの文字列を連結する | A$ + B$ | A1 & B1またはconcatenate(A1, B1)、の後、セルをアウトプット列全体にドラッグしてオートフィルさせます。 |
| A列の2を検索し、同じ行のB列の値を返す | lookup(2, A, B)$1 | lookup(2,A:A,B:B ) |
| 列BのE1の値を検索し、同じ行にある列Dの値を返す | lookup(E1, B, D)1 | vlookup(E1, B:D, 3) |
| 列Aで3.5を検索し、その位置を返す | index(3.5, A)1 | match(3.5,A:A ) |
| 指定された書式の日時文字列をとり、ユリウス日の値を返す | date("1/1/2008")1 | datevalue("1/1/2008") |
| 終了日(11/3/15)と開始日(11/2/1)の間の日数を検索 | date("3/15/11")-date("2/1/11") | days("3/15/11","2/1/11") |
| 2番目のテキスト文字列内で1つのテキスト文字列を検索し、開始位置を返す | find(B10, "M")1 | find("M", B10) |
| 指定された行と列の値を検索 | cell(4,2) または wcol(2)[4] | index(A:D, 4, 2) または indirect(address(2,4)) |
| 条件を満たした値の数を返す | countif(A,"GMC") | countif(A:A,"GMC") |
| 条件を満たした値の合計を返す | sumif(A,">0") | sumif(A:A,">0") |
| 一様分布の標本から0から1の間の乱数を返します。 | rnd() または ran() | RAND() |
日付と時間
| 説明 | Originセル表記法 | Excel表記法 |
|---|---|---|
| 列A、B、Cの日、月、年の値を取り、それらを組み合わせて日付を作成します。 | date(A, B, C)1
Note: 適切な日付文字列表示を行うために、列プロパティを日付として設定します |
date(A:A,B:B,C:C) |
| 列A、B、Cの時、分、秒の値を取り、それらを組み合わせて時間を作成します。 | time(A, B, C)1
Note: 適切な時間文字列表示を行うために、列プロパティを時間として設定します |
time(A:A,B:B,C:C) |
| 指定された書式の日時文字列をとり、ユリウス日を返す | date("1/1/2008")1
Note: OriginはExcelとは異なる日時システムを使用Excelと同じ戻り値を欲する場合は、date("1/1/2008")-2415018 を使います |
datevalue("1/1/2008") |
| 列A行1の日付を取り、サポートされているテキスト形式で表し、ユリウス日を返す | day(date("2/18/2012 13:15:12"))1, 2 | day("7/18/2011 13:15:12") |
| 2つの日付の間の曜日番号を返す | date("7/18/2012")-date("3/15/2011")1 | days("2/1/12","3/15/11") |
| 日時文字列の時間値を返す | hour(date("7/18/2011 13:15:12"))1 | hour("7/18/2011 13:15:12") |
| 日時文字列の分の値を返す | minute(date("7/18/2011 13:15:12"))1 | minute("7/18/2011 13:15:12") |
| 日時文字列の月の値を返す | month(date("7/18/2011 13:15:12"))1 | month("7/18/2011 13:15:12") |
| 現在の時刻の秒の値を返す | second(date("7/18/2011 13:15:12"))1 | second("7/18/2011 13:15:12") |
| 指定した時刻のユリウス日の値を、(HH:MM:ss)の形式で返す | time("13:15:12")1 | timevalue("13:15:12") |
| 説明 | Origin&Excelの表記法 |
|---|---|
| 現在の日付と時刻を返す | now() |
| 現在の日付を返す | today() |
列プロパティを日付として設定して適切な日付文字列を表示するか、date2strを使用して日付値を日付文字列に変換する。例: date2str(today(), "MM/dd/yyyy")$ |
工学
| 説明 | Originセル表記法 | Excel表記法 |
|---|---|---|
| 2進数の10進値を取得し、16進数に変換 | dec2hex(Bin2dec(A1))$1 | bin2hex(11111011) |
| 10進数を2進数に変換する | dec2bin(-100)$1 | dec2bin(-100) |
| 10進数を16進数に変換する | dec2hex(-100)$1 | dec2hex(-100) |
| 16進数の値を2進数に変換する | dec2bin(hex2dec(B7))$1, 2 | hex2bin(B7) |
| 16進数の値に対応する10進数の値を返す | hex(A2) 1 | hex2dec(A2) |
| 説明 | Origin&Excelの表記法 |
|---|---|
| 2進数の10進数の値を返す | bin2Dec(A1)1 |
| ある測定系から別の測定系に数値を変換 | convert(1,"yd","m")1 |
| 16進数の値に対応する10進数の値を返す | hex2dec(A2) 1 |
情報
| 説明 | Originセル表記法 | Excel表記法 |
|---|---|---|
| セルA1の値が数値であるかどうかを確認する | istext(A1)>01 | isnumber(A1) |
| セルが空かどうかを確認する | isempty(A1) 1 | isblank(A1) |
| 説明 | Origin&Excelの表記法 |
|---|---|
| 欠損値は1を返し、それ以外の場合は0を返す | isna(A1)1 |
| セルA1の値がテキストであるかどうかを確認する | istext(A1)1 |
| セルにセルの数式が含まれているかどうかを確認する | isFormula(A1)1 |
論理
| 説明 | Originセル表記法 | Excel表記法 |
|---|---|---|
| すべての条件が真の場合は1を返す | A1>1 && A2>2 | and(A1>1 , A2>2) |
| 条件式に従って指定された値を返す | A1>0?1:-1 | if(A1>0,1,-1) |
| 入力された数値が欠落値またはNANUMの場合は、指定された値を返す | isna(sqrt(-4))?-1:0 | iferror(SQRT(-4),-1) |
| いずれかの条件が真の場合に1を返す | A1>1 || A2>2 | or(A1>1 , A2>2) |
| 論理的真値 Note: Originでは、0以外の値はすべて真とみなされる。 |
1 | TRUE |
| 論理偽値 | 0 | FALSE |
| 説明 | Origin&Excelの表記法 |
|---|---|
| 入力の排他的論理和を返す | xor(3<4,4<5) |
| エラー値を返す | NA() |
検索と参照
| 説明 | Originセル表記法 | Excel表記法 |
|---|---|---|
| A列の2を検索し、同じ行のB列の値を返す Note: Originでは、戻り値の型に応じて、lookup()$またはlookup()を使用します。 |
lookup(2, A, B)$1 | lookup(2,A:A,B:B ) |
| 範囲内にある値のインデックスを返す | list(25,col(A)[1:3])1 index(25, A1:A3)1 |
match(25,A1:A3,0)=2 |
| 現在の行番号を返す | i1 | row() |
| 指定した列参照の列番号を返す | j1 または colnum(col(B))1 |
column() または column(B1) |
| ハイパーリンク付きのラベルを挿入する | http://www.originlab.com [Origin]1 | hyperlink("http://www.originlab.com","Origin") |
数学と三角法
| 説明 | Originセル表記法 | Excel表記法 |
|---|---|---|
| 指定された数の項目の組み合わせの数を返す | combine(4,3)1 | combin(4,3) |
| 値の切り捨て整数を返す 注意!: Excelの INT関数 は切り下げ(floor)を行いますが、Originでは整数部分を取得します。例えば、Originでは int(-1.23)=-1 ですが、Excelでは INT(-1.23)=-2です。 |
int(1.23)=1 int(-1.23)=-11 |
int(1.23)=1 int(-1.23)=-2 |
| 数値を最も近い整数に切り上げるか、必要に応じて最も近い有意値の倍数に切り上げる。 | ceil(-2.9714, -2)=; //-41 ceil(-2.9714, 2)=; //-2 |
ceiling.math(-2.9714, 2, -1) //-4 cceiling.math(-2.9714, 2) //-2 |
| 数値を最も近い整数または最も近い有意値の倍数に丸める。 | floor(-24.4,5)=; //-251 floor(-24.4,-5)=; //-20 |
floor.math(-24.4,5) //-25 floor.math(-24.4,5,-1) //-20 |
| 指定された数を底とする数値の対数を返す | log(8)/log(2)1 | log(8, 2) |
| 10を底とする数値の対数を返す | log(2)1 | log10(2) |
| 数値のべき乗を返す | 3^2 | power(3,2) |
| 除算の商の整数部を返す | int(5/2)1 | quotient(5, 2) |
| 指定されたデータセットの合計を返す | total(A1:A5)1 | sum(A1:A5) |
| 説明 | Origin&Excelの表記法 |
|---|---|
| データの絶対値を返す | abs(-1)1 |
| 対応する三角関数の逆関数を返す | acos(0)1 |
| その数の逆双曲余接を返す | acoth(6)1 |
| 値の逆余接を返す | acot(2)1 |
| 値のアークサインを返す | asin(0.5)1 |
| 逆双曲正弦関数を返す | asinh(10)1 |
| 値のアークタンジェントを返す | atan(1)1 |
| 正のX軸と座標(x,y)で指定された点との間の角度を返す | atan2(2,2)1 |
| その数の逆双曲接線を返す | atanh(0.76159416)1 |
| 指定された数の項目の、繰り返しを含む組み合わせの数を返す | combina(4,3)1 |
| 値のコサインの値を返す | cos(pi/3)1 |
| 値の余接(コタンジェント)を返す | cot(pi/6)1 |
| ラジアンを度に変換する | degrees(pi)1 |
| 値の指数値を返す | exp(1)1 |
| 負でない整数の階乗を返す | fact(5.5)1 |
| 値の自然対数を返す | ln(10)1 |
| 整数を他の整数で割った整数の係数を返す | mod(13,2)1 |
| PIの値を返す | pi |
| 度をラジアンに変換する | radians(180)1 |
| 指定した桁数に数値を四捨五入する | round(-1.99,0)1 |
| 指定された値の三角正割を返す | secant(pi/3)1 |
| 指定された値の双曲線正割を返す | sech(1)1 |
| 実数の符号を返す | sign(2)=1 sign(0)=0 sign(-2)=-11 |
| 指定された値の正弦の値を返す | sin(pi/4)1 |
| 指定した値の双曲線正弦を返す | sinh(5)1 |
| 指定された値の平方根を返す | sqrt(2)1 |
| 指定した値の正接の値を返す | tan(pi/4)1 |
| 指定した値の双曲線正接を返す | tanh(0.5)1 |
統計
| 説明 | Originセル表記法 | Excel表記法 |
|---|---|---|
| 範囲の平均を返す | mean(A1:A6)1 | average(A1:A6) |
| 標本の標準偏差を返す(計算にはn-1を使用) | stddev(A2:A11)1 | stdev.s(A2:A11) |
| 母集団の標準偏差を返す(計算にはnを使用) | stddevp(A2:A11)1 | stdev.p(A2:A11) |
| 未補正の二乗和を返す | Ss(A,0)1 | sumsq(A:A) |
| 指定した条件を満たす値の平均を計算する | averageif(A, "col(A) > 5 && col(B) < 10")1 | averageifs(A:A,A:A, ">5",B:B, "< 10") |
| ベータ分布を返す | betacdf(1, 2, 2)1 | beta.dist(1,2,2,TRUE) |
| 指定したベータ分布の累積分布関数の逆関数を返す | betainv(0.8975362,8,10)1 | beta.inv(0.8975362,8,10) |
| カイ二乗分布を返す | chi2cdf(0.5,1)1 | chisq.dist(0.5,1,TRUE) |
| カイ二乗分布の左端確率の逆数を返す | chi2inv(0.93,1)1 | chisq.inv(0.93,1) |
| ベクトルの要素数とベクトルのサイズを返す。 Note:Excelは欠損値を除外しますが、Originは除外しません。 |
Count(A[, option])1 | count(A:A) //count containing number CountA(A:A) //counts non-empty cells CountBlank(A:A) //counts empty cells |
| 条件を満たした値の数を返す | countif(A,">1")1 | countif(A:A,">1") |
| 指定された複数の条件を満たす値の数をカウントする | countif(A,"A>1&&B>4")1 | countifs(A:A,">1",B:B,">4") |
| 2つのデータセット間の共分散を返す | cov(A, B)1 | covariance.s(A:A,B:B) |
| F確率分布の逆関数を返す | finv(A2, A3, A4)1 | f.inv(A2,A3,A4) |
| xの対数正規分布を返す | logncdf(4,3.5,1.2)1 | lognorm.dist(4,3.5,1.2,TRUE) |
| xの対数正規型の累積分布関数の逆関数を返す | logninv(0.039084,3.5,1.2)1 | lognorm.inv(A2, A3, A4) |
| 正規分布の累積分布関数の逆関数の確率値を返す | norminv(0.9)=1.28155156554461 | NORMINV(0.9,0,1)=1.281551566 |
| 2つのデータセット間の相関係数の二乗を返す | correl(A,B)^21 | rsq(A:A,B:B ) |
| 線形回帰の傾きを返す | slope(A,B)1 | slope(B:B,A:A) |
| スチューデントのt分布の左側の逆関数を返す | tinv(0.75,2)1 | t.inv(0.75,2) |
| 標準正規累積分布関数の値から0.5を引いた値を返します。 | prob(2)/21 | gauss(2) |
| 説明 | Origin&Excelの表記法 |
|---|---|
| 2.5 (1.329)のガンマ関数値を返す | gamma(2.5)1 |
| ガンマ関数の自然対数、すなわちΓ(x)を返す | gammaln(4)1 |
| データセットの尖度を返す | kurt(A)1 |
| 値の集合から最大値を返す | max(A1:C8)1 |
| 引数のリストの最小値を返す | min(A1:C8)1 |
| 分布の歪度を返す | skew(A1:A4)1 |
テキスト
| 説明 | Originセル表記法 | Excel表記法 |
|---|---|---|
| 文字列を1つとして連結し結果の文字列を返す | B1$ + C1$ | concatenate(B1,C1) |
| テキスト値の左端の文字を返す | left(A1$, 2)$1 | left(A1,2) |
| 文字列の文字数を返す | len(A1$) or len(A1)1 | len(A1) |
| 小文字に変換された文字列を返す | lower(A1$)$1 | lower(A1) |
| 開始文字と文字数を指定して、抽出された文字を返す | mid(A1$, 2, 3)$1 | mid(A1,2,3) |
| テキスト値の各単語の最初の文字を大文字にする | upper(left(A1,1))$+lower(right(A1,len(A1)-1)$)$1 | proper(A1) |
| テキスト値の左端の文字を返す | right(A1$, 2)$1 | right(A1,2) |
| 文字列の位置を返し、見つからなかった場合は1を返す | search(A1$, "margin")1 | search("margin",A1) |
| 大文字に変換された文字列を返す | upper(A1)1 upper(A1$)$ |
upper(A1) |
| 説明 | Origin&Excelの表記法 |
|---|---|
| 文字列を数値に変換する。10進数および数値のグループセパレータを指定するオプションにより、OSの地域設定を上書きできる。 | NumberValue(string [, string Decimal, string Group])1 |
その他
| 説明 | Originセル表記法 | Excel表記法 |
|---|---|---|
| 変数に値を割り当て、その値を式で使用します | LET(t,if(A$==B$,1,0),t*500) LET(aa,left(A,1),bb,left(B,2), aa$+ "-" + bb$) |
LET(t,IF(A1=B1,1,0),t*500)
|