Excel〜条件判定

条件式IF1

・ IF関数を使い条件に合致するかどうかの判定をする。IF関数の解説と使用例。

IF(論理式,真の場合,偽の場合)
論理式の条件が満たされる場合は真の内容を選び満たされない場合は偽の内容を選ぶ。

(図8-1

 IF関数は場合分けを行う関数です。
場合分けの条件を論理式で示しその内容が成り立つときは真の場合の内容が選ばれ成り立たないときは偽の内容が選ばれます。
 論理式には比較演算子が用いられます。比較演算子は右図を参考にしてください。 論理式が成立すればTRUE(真)が、成立しない場合はFALSE(偽)が返されます。 1番目の論理式の結果がTRUEの場合は2番目の真の内容、FALSEの場合は3番目の偽の内容が選ばれます。

 空白を表示したい場合はダブルクォテーション【"】を重ねます。またセルに表示したい値が文字列の場合は【"】で挟んで指定します。

・ 例1.H列に前日比で2.5%以上上昇した場合【売り】と表示。
   H3セルに【=IF(G3>=2.5%,"売り","")】と入力し下のセルにコピーします。(図8-2

(図8-2

・ 例2.H列に前日比で2.5%以上上昇した場合【売り】、前日比で2.5%以上下落した場合【買い】と表示。
   H3セルに【=IF(G3>=2.5%,"売り",IF(G3<=-2.5%,"買い",""))】と入力し下のセルにコピーします。


Excelに戻る


条件式IF2

・ 条件判定にAND、OR関数を組合わせた使用例。

AND(式1,式2,…)
式1、式2、…のすべての式が成立するときに計算結果に【TRUE】を返す。1つでも成立しない式があったら計算結果が【FALSE】となる。
OR(式1,式2,…)
式1、式2、…のどれか1つでも式が成立すれば計算結果に【TRUE】を返す。すべての式が成立しないときは計算結果が【FALSE】となる。

・ 例3.I列に終値が25日移動平均線を上回りかつ前日比で上昇した場合に【買い】と表示。
   I3セルに【=IF(AND(G3>0%,E3>H3),"買い","")】と入力し下のセルにコピーします。(図8-3

(図8-3

・ 例4.I列に終値が25日移動平均線を上回るか、前日比で-2.5%以上下落した場合に【買い】と表示。
   I3セルに【=IF(OR(E3>H3,G3<=-2.5%),"買い","")】と入力し下のセルにコピーします。(図8-4

(図8-4
Excelに戻る


条件式IF3

・ セルに入ったデータの種類をIS関数で調べて結果を返します。

ISERROR(テストの対象)
引数に指定したセルや計算式がエラーの場合は計算結果に【TRUE】、それ以外は【FALSE】を返す。
ISBLANK(テストの対象)
引数に指定したセル空欄の場合は計算結果に【TRUE】、それ以外は【FALSE】を返す。
ISNUMBER(テストの対象)
引数に指定したデータが数値の場合は計算結果に【TRUE】を返す。それ以外は【FALSE】を返す。
ISTEXT(テストの対象)
引数に指定したデータが文字列の場合は計算結果に【TRUE】を返す。それ以外は【FALSE】を返す。
IFERROR(値,エラーの場合の値) Excel2007
値に指定したセルや計算式でエラーがない場合は値をそのまま表示し、エラーが発生した場合はエラーの場合の値をそのまま表示する。

 Excelは、数式が正しく計算できないときにエラーを表示します。 これは、数値の代わりに文字が入っている場合やデータが未入力などの理由でもエラーとなります。 求めた値を使用してさらに計算する場合や見栄えをよくしたい場合にIS関数は便利です。

 元データは→ データを別表から転記する1で使用したものです。 シートの記入例(図8-5、6

株価を取出す(図8-5 元データ(図8-6

 このシートのD6セルの式は【=VLOOKUP($C$3,INDIRECT("'"&$B6&"'!$A$4:$I$94"),6,FALSE)】となっていてC3セルの日付の終値を表示するようになっています。 しかしこのままでは元データにない日付(2009/2/28)を入力した場合、エラーが表示されます。(図8-7

株価を取出す1(図8-7

 エラーのときに空白を表示、正しい値がある場合にその値を表示したい場合はISERROR関数を使い次のようにします。

・ 例5.指定日の終値を表示する条件式が正しい場合はその値を、エラーの場合は空白を表示。
   D6セルに【=IF(ISERROR(VLOOKUP($C$3,INDIRECT("'"&$B6&"'!$A$4:$I$94"),6,FALSE)),"",VLOOKUP($C$3,INDIRECT("'"&$B6&"'!$A$4:$I$94"),6,FALSE))】と入力します。(図8-8

株価を取出す1(図8-8

 ISERROR関数や後述のIFERROR関数はすべてのエラーに対して有効な関数です。しかし、エラーの原因が特定できている場合はISBLANK関数ISNUMBER関数を使うことでより細かく対処できます。例えば単純なエラーは空白を表示して取引停止等でセルが空白の場合は、売買停止と表示するなどです。


 Excel2007ではIFERROR関数が追加されました。この関数はIF関数とISERROR関数が合わさったものです、【値】と【エラーの場合の値】の2つの引数をとります。例5をIFERROR関数に置き換えてみます。

・ 例6.指定日の終値を表示する条件式が正しい場合はその値を、エラーの場合は空白を表示。
   D6セルに【=IFERROR(VLOOKUP($C$3,INDIRECT("'"&$B6&"'!$A$4:$I$94"),6,FALSE),"")】と入力します。




Excelに戻る