数値の扱いについて


以下では、Originで数値がどのように扱われるかについて、一般的なご説明をいたします。

Originに数値を保存する方法

Originのワークブックと行列ブックは、次のデータ型をサポートしています。

ワークブック 行列ブック バイト長 値の範囲

double

double

8

±1.7E±308 (15ケタ)

real

float

4

±3.4E±38 (7ケタ)

short

short

2

-32,768から32,767

long

int

4

-2,147,483,648から2,147,483,647

char

char

1

-128から127

byte

char, unsigned

1

0から255

ushort

short, unsigned

2

0から65,535

ulong

int, unsigned

4

0から4,294,967,295

complex

complex

16

±1.7E±308 (15ケタ)、それぞれ8バイト

詳細は、次をご覧ください。

表示されたセル値 vs 実際のセル値

ワークブックや行列ブックにデータをインポートしたり入力したりするとき、Originはユーザが設定した方法で各セルのデータを表示します。 ただし、表示されるのは単にデータ値を視覚的に表現したものであり、実際のデータ値は、前述のようにデータセットのデータ型で許容される完全精度で格納されていることに注意してください。 計算を実行する際には、表示している値ではなく、実際の値(内部値)が使われます。

詳細は、次をご覧ください。

セル幅以上の桁数の数値の表示

Origin 2020bより前のバージョンでは、シートセルの文字シーケンスが現在のセル(列)幅で表示できる文字数を超える場合、Originは記号(######)を表示します。これは、MS Excelのワークシートの動作と同じように変更されました。

  • テキスト文字列は、列の幅に関係なく######の表示をトリガーしません。文字列全体を表示するには、列幅を広げる必要があります。
  • 列幅を超える数値は、最初に最も近い10進数に丸められ、それが完全な整数値を表示するのに十分でない場合に限り、数値の代わりに######が表示されます。
  • この数値の丸めは、表示上のものです。(前のセクションを参照ください。)内部に保存された値は変更されません。
  • セルの内容が完全に表示されなかった場合に、######を表示するという以前の動作に変更するには、システム変数@WPE = 1を設定します。システム変数の値を変更する方法については、このFAQを参照してください。

ワークシートまたは行列シートの欠損値

表計算プログラムが最初現れた頃より、実際の数値ではない特殊な値-欠損値-を計算の中で扱う必要性が知られていました。 Originでは、欠損値の値として内部的にある数値

(-1.23456789E-300)を割り当てています。

Originは、これを特別な値として認識しているので、ワークシート(や行列シート)に欠損値を入力するのに使われ、計算やスクリプトに使用することができます(例えば、条件が満たされない場合に欠損値を返す)。Originはワークシートまたは行列シートの欠損値を " -- "として表示します。 ただし、この表示(出力)と入力した値(入力値)を混同しないでください。

Origin 2019より前のバージョンでは、ワークシートの列に値を入力中にセルをスキップした場合、スキップされたセルは欠損値として扱われ、 " -- "記号が自動的にセルに入力されました。また、ワークシートのセルを選択してショートカットメニューからクリアを選択した場合、そのセルは欠損値として扱われました。

Origin 2019以降では、欠落した値がスキップまたはクリアされたワークシートセルに埋められることはありません。それらは空白のままになります。2019年以前の動作に戻すには、LabTalkシステム変数@CDB = 0を設定します(システム変数の値を変更する方法については、このFAQを参照してください)。

欠損値を入力する他の方法:

  • 一般的な目的のために、"Na()" をF(x)=に入力することによって、NA() 関数を使用してワークシート列全体に欠損値を手動で入力できます。欠損値を個々のセルに手動で入力するには、"=Na()"と入力します。 またはセルを強調表示してCtrl + Deleteキーを押します(@ CDB = 1(デフォルト)の場合)。
  • 式に欠損値を設定するには(たとえば、[列値の設定]ダイアログボックスなど)、ゼロで除算するか、Na() 関数を選択します(値の設定 メニューの関数: その他)。
  • ワークシートの列のフォーマット数値に設定されている場合、任意のテキストを入力すると(たとえば、 "missing")、セルの値に欠損値が設定されます。同様に、数値以外のフォーマットのワークシート列の場合、Originがその列タイプに対して無効と認識するものを入力することで、欠損値を手動で入力できます(たとえば、フォーマット = 月の列のセルに "13"を入力)。


Note:欠損値をサポートするのはデータ型 = Double(8)のみです。

10進数、科学的および工学的表記

ワークブックまたは行列ブックのデータを十進数:1000指数:1E3工学:1k、および十進数:1,000の表記で表示することを選択できます。 手動で科学表記法を使用してワークブックまたは行列ブックのデータを表示することを選択する以外に、特定のしきい値を超えると、選択されたデータ表示オプションが上書きされ、科学表記法を使用して数値が自動的に表示されるように指定できます。 デフォルトでは、これらの科学的記数法のしきい値は6(上限)および-3(下限)に設定されています。上限値と下限値がそれぞれ6と-3の場合

  • 1x10^-3から1x10^6の範囲の値は、ワークブックまたは行列ブックのプロパティダイアログボックス(10進数指数、または工学)の表示ドロップダウンリストで指定した設定で表示されます。
  • データが下限または上限しきい値(1×10 ^ -3未満または1×10 ^ 6より大きい)を超える値は、表示ドロップダウンリストの設定に関係なく、科学表記法で表示されます。

科学表記法での自動表示のためのコントロールは、オプションダイアログボックスの数値の表現形式タブにあります。

数値表示フォーマット

ワークシートに表示されるものとは別に、ワークシートデータは数値データ、テキストデータ、または欠損値として扱われることを認識することが重要です。格納されたデータが数値として認識されない場合、それらはテキスト文字列または欠損値として扱われます。他に選択肢はありません。

  • 表示されているデータがテキストの場合、そのテキストは文字通りに格納されます。
  • データがワークシートの列で正しく設定され、テキスト文字列ではなく日時データとして扱われるように、データが何らかの数値データとして表示される場合、これらのデータは数値として保存されます。

Originのワークシートはさまざまなカスタムフォーマットをサポートしているため、基本となる数値を保持したまま、数値データを意味のある形式(例: "0.12"や "12%")で表示できます。これらのカスタムフォーマットを設定する必要があります。または、前述のように、データはテキストまたは欠損値として扱われる可能性があります。

次の表は、テキストと数値形式数値、または日付時刻の形式でワークシートデータの列に使用できるカスタム表示形式オプションの種類を簡単にまとめたものです。詳しくは次のリンクをご参照ください。

フォーマット カスタム表示フォーマットオプション
テキストと数値数値
  • 小数桁数、有効桁数、パーセント、小数部、指数、0の埋め込みまたは切り捨て、工学表記法または科学表記法、度 - 分 - 秒、テキストのプレフィックスまたはサフィックスなどを表示するためのオプションなどについては、カスタム数値形式を参照してください。
時間
日付

日付と時刻の扱いについて

前述のように、Originワークシートのデータはテキスト値、数値、または欠損値として扱われます。内部的には、Originは日付データを数値として保存します。これはワークシートに日付や時刻を表示するために使用されるフォーマットとは無関係です。たとえば、ワークシートは「2458283」という数字を「6/14/2018」として表示するように簡単に設定できます。 または「2018年6月14日木曜日」、 またはあなたが選んだカスタムの日時フォーマットとして表示します。重要なのは、選択された日付と時刻の形式は、単に基礎となる数値を視覚的に表現したものにすぎないということです。

日付と時刻に関するOriginのデフォルトの数学システムは、天文ユリウス日に基づいています。 これは、-4712年1月1日(西暦前4713年1月1日)、グリニッジ標準時の12時間を0として定義します。 Originは午前0時と0時間を一致させるために12時間のオフセットを使用します。タイムゾーンの違いやサマータイムなどは考慮されません。

このシステムでは、例えば...

11 June 1998の21:23:01

...は次のOriginユリウス日数、

2450975.890984を持っています。

0.5(Originの12時間オフセット)を加算すると、天文ユリウス日の2450976.390984が得られます。

日付と時刻のデータを格納および処理するために内部で使用されるのは、Originのユリウス日です。ワークシートに「日付」または「時刻」データを入力またはインポートするとき、Originはデフォルトでそのようなインポートされた値をテキストとして扱います。日時値がテキストとして扱われていることを視覚的にわかりやすくするために、日時データは左寄せになっています。

Date-Time vs Text.png

Originが日付と時刻のデータを正しい形式で表示し、日付と時刻のデータを算術演算やグラフ作成に使用できるOriginユリウス日番号として内部に保存するには、ワークシート列を正しく設定する必要があります。詳細は、次をご覧ください。

バージョン2019では、Originは2つの代替時間システムを提供しています:(1) 真のユリウス暦の値(0は真夜中の午前0時ではなく正午)、(2) 0は2018年1月1日00:00と定義されている「2018」システム。たとえば、インポートウィザードでデータをインポートすると、2018システムはより高い精度をサポートします(例:カスタム日付フォーマットは "MM'/'dd'/'yyyy HH':'mm':'ss'.'######」 の形式をサポートします)。以前は、精度は0.0001秒に制限されていました。詳細は、Originの日付と時間をご覧ください。