2014年9月26日金曜日

【EXCEL(VBA/マクロ)】プログラム言語を学ぼう(2)



EXCEL関数に関して説明します

(1) =IF(条件式,値1,値2)
条件式が満たされている場合(真の場合)は値1を表示し、満たされていない場合(偽の場合)は値2を表示する。
例: B1セルが60以上であったら『合格』、そうでなかったら『不合格』
    B1セル:=IF(A1>=60,"合格","不合格") 
IF内にIFを組み合わせて使用もできます(IF 関数は最大 7 つまで組み合わせることが可能)。
例: B2セルが空白なら、空白にして、そうでなかったら、60以上で合格、それ以外は不合格とする
=IF(B2="","",IF(B2>=60,"合格","不合格"))
=IF(ISBLANK(B2),"",IF(C4>=60,"合格","不合格"))
=IF(COUNTA(B2)=0,"",IF(C4>=60,"合格","不合格"))  

(2) EXACT(文字列1,文字列2) ~文字列の比較
 B2="OK" で条件判定を行うと 大文字/小文字の区別がされません
 区別したいときは、EXACT関数を使用します

(3) 条件式に使う記号(比較演算子) 
A=BAとBが等しい
A>BAがBよりも大きい
A<BAがBよりも小さい
 A>=BAがB以上
A<=BAがB以下
A<>BAとBが等しくない
        

(4) 複数条件
=IF(AND(条件1,条件2,・・・),値1,値2)     条件1 かつ 条件2 かつ・・・・の場合値1を返し、そうでない場合は値2を返す。
=IF(OR(条件1,条件2,・・・),値1,値2)
     条件1 または 条件2 または・・・・の場合値1を返し、そうでない場合は値2を返す。


例1)C1とD1の両方が60以上の場合に[合格]それ以外は[不合格]とする
E3セル:=IF(AND(C1>=60,D1>=60),"合格","不合格")
例2) G2の日付で1日かつ、0時から7時までは、前日の日付(1月の場合は-1だと0月になるので、12月になるようにする)、以外の場合は、当日日付を取得する
=IF( AND( DAY($G2)=1,HOUR($G2) >= 0, HOUR($G2) < 7),IF(MONTH($G2)-1=0,12,MONTH($G2)-1),MONTH($G2))

(5)  IS関数
ISERROR : 対象が(#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? または #NULL! のいずれか) を参照するとき TRUE を返す
ISBLANK : 対象が空白セルを参照するとき TRUE を返す
ISERR : 対象が #N/A を除くエラー値を参照するとき TRUE を返す
ISLOGICAL :  対象が論理値を参照するとき TRUE を返す
ISNONTEXT : 対象が文字列でない項目を参照するとき TRUE を返す
ISNUMBER :  対象が数値を参照するとき TRUE を返す
ISREF : 対象がセル範囲を参照するとき TRUE を返す
ISTEXT : 対象が文字列を参照するとき TRUE を返す

(6) =N(値)
 値を数値に変換します。

他にも、いろいろ関数がありますので、必要な時に、調べてみてください。

0 件のコメント:

コメントを投稿