~以上、~以下、~より大きい、~より小さい、~と等しい

エクセルでIF関数などを使用する際に「~以上の場合は・・・」といった、条件を指定する為の特殊な表現方法(比較演算子や等号・不等号など)について、まとめてみましょう。

 

使い方例)比較演算子の使い方

下の表は、ある会社の人事評価一覧です。今回、評価結果の欄にIF関数を使って、「評価点が350点以上ならば『可』、そうでなければ『不可』とする」数式を追加しました。

この時の、IF関数に使用した比較演算子(~以上・・)について見てみましょう。

%e6%9d%a1%e4%bb%b6%e5%bc%8f%ef%bc%88if%ef%bc%89

数学などでは、「D4≧350」のように表現しますが、エクセルではイコール(=)を後に書くようにします。
つまり、「~以下・・・」の場合は「D4<=350」となります。

 

以下によく使用する比較演算子をまとめてみましたので、条件の指定する数式などで活用してみてください。

【等号・不等号について】

記号 意味
< 指定した値よりも小さい(未満)
<= 指定した値よりも小さいor等しい(以下)
> 指定した値よりも大きい(超える)
>= 指定した値よりも大きいor等しい(以上)
<> 指定した値と等しくない(以外)
= 指定した値と等しい(同じ)

 

「~を含む」の指定/「*」ワイルドカードを利用する

比較演算子の他に、「○○○という文字が含まれている場合・・・」といった、文字列を条件として使用する場合には「*」や「?」の記号を使った方法が便利です。
例えば、「対象の文字(○○)が頭に含まれている場合」は「○○*」、「対象となる文字列(○○○○)の途中に1文字だけ違う文字が含まれている場合」は「○○?○○」といった具合に、それぞれ表現することが出来ます。

 

使い方例)ワイルドカード

下の表にて、営業課にのみボーナスを支給したい為、分かりやすいようにD列に「営業課なら○、そうでなければ×」を付けることにしました。

この時のCOUNTIF関数に使用したワイルドカードについて見てみましょう。

%e6%9d%a1%e4%bb%b6%e5%bc%8f%ef%bc%88%e5%90%ab%e3%82%80%ef%bc%89

IF関数の中に入れ子になっている関数COUNTIFでは、セルB4の文字が「営業~」ならカウントするように指定しています。

エクセルでは、この「~」の部分を「*(アスタリスク)」で表現し、この場合は「営業」という文字の後ろにはどのような文字があってもカウントする結果となります。

同様に、「?(クエスチョンマーク)」は任意の1文字だけを表現できますので、この数式に当てはめれば、「営業?課」または、「営業??」と置き換える事も可能です。

 

【ワイルドカード(あいまい指定)について】

記号 意味
* 任意の複数文字を表す
? 任意の1文字を表す
sponsored link

 

式に利用している文字や改行コードの表記/CHAR関数

数式や文字を入力する際に、「改行を数式で表現できないか・・・」や「名前を知らない記号を入力したいけど・・・」といった悩みが発生する場合があります。
こうした時に利用する関数としてCHAR関数が便利となる場合があります。

CHAR関数とは、エクセル内部にて認識する文字コード(※全ての文字には数字が割り当てられています)を、ASCII またはJIS に対応する文字に変換することができます。またCHAR関数を使うと、文字列を結合する際に任意の位置に改行をいれることができます。

ASCII /JISコードとは・・・
コンピュータなどにおいて、文字や記号を符号化したもので、それぞれの数値が割り振られている規格の名称です。その数値を利用することによって、対象の文字や記号を表示させることが出来ます。

 

=CHAR(数値)

[数値] = 表示したいASCIIまたは、JISコードの数値を指定します。

関数の説明 指定したコードに対応する文字や記号を表示します
EXCELバージョン Excel2003・Excel2007 ・ Excel2010 ・ Excel2013 ・ Excel2016

 

使い方例1)コードを利用した文字の表示

下の表は、コードの変換例です。この他にも多くの数値がありますので、機会があれば探してみてください。

char%e3%82%b3%e3%83%bc%e3%83%89

① B列の数値を参照して文字や記号を表示する

[数値] : コードの入力されているセルB4を指定します。
=CHAR(B4)

 

この関数は、普段はあまり利用する機会がないかもしれませんが、たとえば複数のセルの文字を数式を使って結合させる際に、「セル内改行」をさせることが出来るという便利な使い方があります。

 

使い方例2)セル内で文字列を改行する

※この使い方をする場合には、あらかじめ(1)~(2)の手順で準備が必要となりますので注意してください。

(1)改行したいセルを範囲選択して、右クリックメニューから、「セルの書式設定」を選びます。
char%e6%ba%96%e5%82%991

 

(2)セルの書式設定ダイアログボックスにて、次の設定をします。
char%e6%ba%96%e5%82%992

①上部から「配置」タブをクリックします。
②表示された中ほどにある、「折り返して全体を表示する」のチェックを入れます。
③最後に[OK]ボタンを押して設定を完了します。

 

(3)改行コードを使って、文字列を結合後改行する。

下の表は、ある会社の社員名簿です。E列に「&」記号を使った「郵便番号」と「住所」を結合させる数式を入力しました。
この時の、CHAR関数による改行コード利用を見てみましょう。

char%e6%94%b9%e8%a1%8c

① C列とD列の文字列を改行コードを使って結合させる

[数値] : 改行コードを意味する数値「10」を指定して、元の結合の数式『C4&D4』に追加します。
=C4& CHAR(10) &D4

 

日付の指定方法(日付と文字型日付の比較)

IFなどの条件式にて日付形式のセルとの比較をしたい場合には、DATE関数を使って比較します。    →DATE関数の詳細についてはこちら

 

使い方例1)日付形式で入力されたセルとの比較

下の表は、あるカード会員一覧表です。2015年4月1日よりカードの形式が変更となったため、それ以前に入会された方に通知することにいたしました。

%e6%97%a5%e4%bb%98%ef%bc%88%e6%95%b0%e5%80%a4%ef%bc%89

① DATE関数を使ってC列の日付(入会日)と比較し、古い日付ならば「通知」、そうでなければ「OK」と表示する

(1)DATE関数にて、「2015年4月1日」を指定します。

=DATE(2015,4,1)

(2)IF関数にて、日付形式のセルC4と比較します。

=IF(C4<DATE(2015,4,1),”通知”,”OK”)

 

使い方例2)文字列形式で入力された日付との比較

下の表では、使い方例1と違って入会日(C列)が、エクセルで日付と認識されない書き方(文字列)として入力されてしまっています。
このような場合は、TEXT関数とDATEVALUE関数を併用して日付に再変換してから、比較するようにします。      →TEXT/DATEVALUE関数の詳細についてはこちら

%e6%97%a5%e4%bb%98%ef%bc%88%e6%96%87%e5%ad%97%e5%88%97%ef%bc%89

① 文字列にて入力されているセルを日付として変換してC列の日付(入会日)と比較し、古い日付ならば「通知」、そうでなければ「OK」と表示する

(1)TEXT関数にて、セルC4の文字列の表示形式を変更します。

TEXT(C4,”0000!/00!/00″)

(2)DATEVALUE関数にて、(1)の文字列を日付形式として変換します。

DATEVALUE( TEXT(C4,”0000!/00!/00″) )

(3)IF関数にて、DATE関数にて指定された日付(2015年4月1日)と比較します。

=IF( DATEVALUE(TEXT(C4,”0000!/00!/00″)<DATE(2015,4,1),”通知”,”OK”)