論理演算関数

論理演算関数は、In-Sight スプレッドシートにブール代数および条件テストの機能を提供します。ビットごとの関数はすべて、2 進数で表現した引数の各ビット位置に対応する論理演算を実行し、結果として求められた 2 進値を 10 進数形式で返します。  例えば、値 0 のビット 0 は値 1 のビット 0 と比較され、値 0 のビット 1 は値 1 のビット 1 と比較されます。複数の真/偽条件の結果を GUI 表示やディスクリート出力に組み合わせる場合は、ビットごとの関数を、MultiStatus 関数ディスクリート I/O 関数とともに使用すると特に有効です。

演算子 シンボル
NOT !
AND &&
OR ||
等しい ==
等しくない <> (または !=)
:  
  • 特定のスニペットがスプレッドシートに挿入されるとき、[ジョブの編集] ツールバーに表示される式に、!、&&、||、==、<>、>=、<=、!= などの文字が含まれる場合があります。

  • 空のセルまたは文字列を含むセルが引数のリストに存在する場合、AND と && 演算子は異なる機能を持ちます。

すべての論理演算関数において、次が適用されます。

  • FALSE = 0
  • TRUE = ゼロ以外の結果
関数 説明
And(値1, 値2, ...)

すべての値がゼロ以外の場合は 1 を返します (論理 AND どちらの値も TRUE である場合の結果は TRUE です)。

:  
  • 引数が空のセルまたは文字列が含まれているセルを参照している場合、これらの値は無視されます。すべての引数が空のセルまたは文字列が含まれているセルを参照している場合は、#ERR が返されます。

  • 空のセルまたは文字列を含むセルが引数のリストに存在する場合、AND と && 演算子は異なる機能を持ちます。AND 関数は空のセルまたは文字列のみを含むセルを無視しますが、&& 演算子はこれらのセルを無視しません。セル A5 が空のセルの場合、関数 A5&&20 を返します。セル A5 に「a」などの文字列が含まれている場合、関数 A5&&2#ERR を返します。

閉じた

  • And(45, -77) は 1 を返します。
  • And(65534, 0) は 0 を返します。
  • And(-3, -2, -1, 1, 2, 3) は 1 を返します。
  • And(-1, 0, 1) は 0 を返します。
BitAnd(値1, 値2, ...)

値のビットごとの AND を返します。

:  下位 16 ビットのみを処理します。

閉じた

BitAnd(45, 77) は 13 を返します。

45 = 0000 0000 0010 1101 (2 進数)、77 = 0000 0000 0100 1101 (2 進数)

And 演算子を使用して、これら 2 つの 16 ビット 2 進数の共通ビットを個別に比較した結果は 0000 0000 0000 1101 で、これを 10 進数で表すと 13 になります。

BitNot(値)

をビットごとに反転させた結果を返します。

:  下位 16 ビットのみを処理します。

閉じた

BitNot(45) は 65490 を返します。

45 = 0000 0000 0010 1101 (2 進数)。  0 を 1、1 を 0 に反転した結果は 2 進数では 1111 1111 1101 0010 で、これを 10 進数で表すと 65490 になります。

BitOr(値1, 値2, ...)

値のビットごとの OR を返します。

:  下位 16 ビットのみを処理します。

閉じた

BitOr(45, 77) は 109 を返します。

45 = 0000 0000 0010 1101 (2 進数)、77 = 0000 0000 0100 1101 (2 進数)

Or 演算子を使用して、これら 2 つの 16 ビット 2 進数の共通ビットを個別に比較した結果は 0000 0000 0110 1101 で、これを 10 進数で表すと 109 になります。

BitXor(値1, 値2, ...)

値のビットごとの XOR (排他的 OR) を返します (論理 XOR ビットの中の 1 つだけが TRUE のときに、結果が TRUE になります。  等しいビットが複数個存在する場合の結果は FALSE です)。

:  下位 16 ビットのみを処理します。

閉じた

BitXor (45, 77) は 96 を返します。

45 = 0000 0000 0010 1101 (2 進数)、77 = 0000 0000 0100 1101 (2 進数)

次のように、45 と 77 で共通ビットではないのは 0110 0000 のみです。

 

45

77

ビット単位の XOR

XOR ビット

0

0

2 個の 0 ≥ XOR FALSE

0 (FALSE)

0

1

1 を 1 つのみ ≥ XOR TRUE

1 (TRUE)

1

0

1 を 1 つのみ ≥ XOR TRUE

1 (TRUE)

0

0

2 個の 0 ≥ XOR FALSE

0 (FALSE)

1

1

2 個の 1 ≥ XOR FALSE

0 (FALSE)

1

1

2 個の 1 ≥ XOR FALSE

0 (FALSE)

0

0

2 個の 0 ≥ XOR FALSE

0 (FALSE)

1

1

2 個の 0 ≥ XOR FALSE

0 (FALSE)

 

0110 0000 = 96 (10 進数)

If(条件, 値1, 値2)

条件がゼロ以外の場合は値1 を返し、条件がゼロの場合は値2 を返します。

:  条件または引数が空のセルを参照している場合、それらはゼロ (FALSE) と解釈されます。
InRange(値, 開始, 終了) Min(開始,終了) ≤ 値 ≤ 最大(開始,終了) の場合、TRUE を返します。
Not(値)

がゼロ以外の場合は 0 を返し、値がゼロの場合は 1 を返します (論理 NOT)。

閉じた

  • Not(-12345) は 0 を返します。
  • Not(3.14) は 0 を返します。
  • Not(2-1) は 0 を返します。
  • Not(1-1) は 1 を返します。
Or(値1, 値2, ...)

すべての値がゼロの場合は 0 を返し、ゼロ以外の値がある場合は 1 を返します (論理 OR 値のいずれかが TRUE の場合、結果は TRUE です)。

閉じた

  • Or(45, -77) は 1 を返します。
  • Or(-1, 0, 1) は 1 を返します。
  • Or(0, 1-1) は 0 を返します。