高見澤の採用担当ブログ > EXCEL関数のコト

EXCEL関数のコト

EXCELで世界のナベアツ その5

 2008年12月09日 投稿者 白取です

そうこうしているうちに3ネタもだいぶ下火になってしまいましたね。関数ネタはあまり人気も無いようで、社内からも「わからない・・・」なんて声も聞こえ、若干モチベーションも下がりつつありますが、前回までに解説した3の倍数と3のつく数の判定方法をつかって、条件に合う時とそうでない時で表示する結果を変える方法を解説します。

実際のEXCELシートを掲載しておきますので参考にして下さい。
EXCELファイルをダウンロード


まず、表示結果の確認をしましょう。

img20081209-01.jpg


3の倍数か3がつく数字の場合は、数字の後に(アホ)と入っています。
そうで無い場合は数字のみの表示になっています。
これはIF関数をつかって、それぞれの場合の表示結果を作っています。

表示結果をどうするかによって計算式の難度が変わってきますので、見た時にわかりやすく、且つ作る時に計算式が複雑にならないように考えるコトが重要です。



では計算式の解説です。

B4のセルには
=IF(OR(MOD(A4,3)=0,ISERR(FIND("3",A4))=FALSE),A4 & "(アホ)",A4 & "")

という計算式が入っています。
ちょっとわかりづらいので、結果の部分だけピックアップしてみます。

IF関数で3の倍数か3がつく数字を判定し、

3の倍数か3がつく数字の場合
A4 & "(アホ)"で、A4の値と(アホ)という文字をくっつける。

そうで無いときは
A4 & ""で、A4の値と長さ0の文字列をくっつける。

という意味になります。


&はアンドではなくアンパサンドと読みましょう。これは、文字と文字を結合する演算子です。

""は長さ0の文字列を意味します。

長さ0の文字列。
人に説明する時は面倒くさいので「空白」という言い方をしてしまう事もありますが、関数によっては空白と長さ0の文字列を同じに扱うものもあれば、別物として扱うものもあるので、厳密に言うと空白と長さ0の文字列は異なりますので注意しましょう。


おまけで、「更に5の倍数の時に犬になる」場合の計算式を作ってみました。

img20081209-02.jpg


5の倍数の時は(犬)と表示され、3の倍数か3がつく数で更に5の倍数の時に(アホな犬)と表示されています。計算式が長く複雑になってしまうので、IF関数をネストしている訳ではありません。この辺をどう実現するかがポイントです。

興味のある方はダウンロードして解析してみて下さい。
EXCELファイルをダウンロード

この記事のリンク | コメント[0]

EXCELで世界のナベアツ その4

 2008年10月31日 投稿者 白取です

前回までに3の倍数、3がつく数字、それぞれを判定する方法を解説してきました。今回はOR関数を使い、それぞれの条件を組み合わせて判定する方法を解説します。

少し複雑になってきているので、今回から実際のEXCELシートも掲載しておきますので参考にして下さい。

EXCELファイルをダウンロード(37KB)


関数がネストされているとわかりづらいので、まずは結果が見える形で計算式を書いて見ます。

E4に3の倍数か判定するため、=MOD(A4,3)と入力します。
img081031-01.png


F4に3がつく数か判定するため、=ISERR(FIND("3",A4))と入力します。
img081031-02.png



どちらかの条件を満たすかどうか判定したいので、OR関数を使いD4に=OR(E4=0,F4=FALSE)と入力します。

OR関数は引数のどれかがTRUE の場合TRUE を、引数がすべてFALSEの場合、FALSE を返す関数です。

img081031-03.png


設定した計算式を下方向にコピーし、わかりやすいように黄色で網掛けしてみます。
img081031-04.png

おさらいになりますが、
・3の倍数は3で割ると剰余がゼロになる。(E4=0である)
・3がつく数はFIND関数で戻り値がエラーではない。(F4がFALSEである)

となります。
どちらかが一致しているか判定するためにOR関数を使い、その結果(戻り値)がTRUE(真)になっているものが、3の倍数か3がつく数字という事になります。



最後に1つの計算式にまとめてみます。
D4に=OR(MOD(A4,3)=0,ISERR(FIND("3",A4))=FALSE)と入力し下方向にコピーします。前述の結果と同じになっていますね。

img081031-05.png

ここまでの内容を理解されている方には実に簡単なコトですが、関数をネストする場合、その戻り値が正確にイメージできないと使えないものです。

私も最初のうちはこの解説のように、別のセルに計算式を細かくわけて、結果を目で確認しながら計算式を書いていました。

関数が苦手でよくわからないという方は、ほとんどの場合「解らないから使えない」のではなく、「使わないから解らない」のだと思いますので、とりあえず計算式を書いてみるコトをお勧めします。

これで、3の倍数か3がつく数字という判定ができましたので、次回その判定結果によって結果を出力する方法を解説します。

この記事のリンク | コメント[0]

EXCELで世界のナベアツ その3

 2008年10月21日 投稿者 白取です

「3がつく数字かどうかの判定方法」について解説します。今回から関数の引数に別の関数の戻り値を使うようになります。

このように、関数を他の関数の引数として使用することを「ネスト」と言います。関数をネストする事を覚えると、飛躍的にできるコトが増えるのでマスターして欲しいですね。


では、まずFIND関数を使って3がつくかどうか判定してみます。
FIND関数は条件にあてはまる文字の位置を返す関数で、D4に=FIND("3",A4)と入力し、下方向へコピーして行きます。

img081020-01.png


引数の検索文字列は3を、対象はA4を指定にすると
・A4に3が見つかった場合は何文字目か
・見つからなかった場合は#VALUE!というエラー

が戻り値となります。

D6を見ると戻り値は1になっていますね。A6の値の1文字目に3が見つかったという意味になります。


3がつくかどうかの判定は、FIND関数を使えば簡単なのですが、曲者なのが#VALUE!というエラーの値。エラーままでは、それ以降全ての計算結果が全てエラーとなってしまうため、適切に計算できるように対応する必要があります。


エラーかどうかの判定にはISERR関数を使います。(ISERROR関数でもOK。)
E4に=ISERR(D4)と入力し、下方向へコピーして行きます。

img081020-02.png

・#VALUE!というエラーの場合はTRUE(真)
・数値(何文字目か)の場合はFALSE(偽)

が戻り値となっていますね。これを踏まえて、一つの計算式にまとめてみます。

img081020-03.png


D4に、=ISERR(FIND("3",A4))と入力し下方向へコピーして行きます。

FIND("3",A4)の結果が#VALUE!の場合(3が見つからなかった場合)TRUEが戻り値となります。見つかった場合は、エラー値ではないのでFALSEが戻り値になります。


FIND関数の結果をISERR関数を使いTRUEかFALSEとする事によって、エラーによる計算不能にならないようにしている訳です。


最後にもう一度3がつくかどうかの判定の部分を整理してみます。

=ISERR(FIND("3",A4))の戻り値がTRUEの場合
→FIND("3",A4)がエラーである。
→A4に3が見つからなかった。
→3がつかない数である。

=ISERR(FIND("3",A4))の戻り値がFLASEの場合
→FIND("3",A4)がエラーではない。
→A4に3が見つかった。
→3がつく数である。


という事になります。


次回はこれまでの記事を踏まえて、「3の倍数と3がつく数字の場合」というのを1つの計算式で判定してみます。

この記事のリンク | コメント[0]

EXCELで世界のナベアツ その2

 2008年10月13日 投稿者 白取です

3の倍数は、言い方を変えると「3で割り切れる数」。もう少し言い方を変えると「3で割ると余り(剰余)がゼロになる数」となります。

これを踏まえて、2つの「3の倍数かどうか判定する方法」を紹介します。


まずは簡単な方から。
EXCELではMODという剰余を求める関数が用意されているので、それを使えば3の倍数かどうかの判定はすぐにできます。

実際にD4のセルに剰余を求める計算式を入れてみます。

img081013-01.jpg


計算式の書式は=MOD(数値,除数)となり、引数である数値はA4を、除数は3を指定します。(数値を3で割って余りを求めるという意味になります。)そのまま下方向へコピーします。

img081013-02.png


3の倍数の時に戻り値がゼロになっていますね。MOD関数を使えば一発で3の倍数かどうかの判定ができます。



続いて、蛇足になりそうですが剰余を求める関数を使用しないで判定する方法です。
E4に=INT(A4/3)*3=A4と計入力し下方向へコピーします。で、3の倍数の場合、TRUEになります。

img081013-03.png


関数が苦手な方のために分解して解説していきます。

=INT(A4/3)*3=A4で、途中に=(イコール)が入っていますが、イコールの右側と左側が同じかどうか比較しています。

img081013-05.png

INT(A4/3)*3の結果が、A4と同じならTRUEとなり、3の倍数だという意味になります。



INTは指定した数値を超えない最大の整数を返す関数です。平たく言うと、正の数の場合は小数点以下を切り捨て、負の数の場合は切り上げします。

A4に1入力されている場合で考えてみましょう。1÷3=0.3333ですが、INT関数で小数点以下を切り捨てると0になります。2の場合は2÷3=0.6667ですが、同様に小数点以下を切り捨てると0になります。3の場合は割り切れるので3÷3=1となります。

img081013-04.png

0×3=0なので、A4が1の場合も2の場合も結果は0になりますね。3で割り切れない場合は、INT(A4/3)*3がA4とは一致しなくなる訳です。


次回は「3がつく数字かどうかの判定方法」を解説します。


この記事のリンク | コメント[0]

EXCELで世界のナベアツ その1

 2008年09月30日 投稿者 白取です

本当は「セルの結合の是非」での結論じみたことを書きたかったのですが、まとめきれないでいるため後回しにして、今回からEXCELの関数の応用例を書いてみたいと思います。

関数の基本的な使い方は参考書やネットですぐ調べる事ができ、あえて私が書くまでも無いと思いますので、個人的には若干飽きてきましたが、まだまだ旬な世界のナベアツ氏の「3の倍数と3がつく数字のときだけアホになる」というネタを事例に、ちょっと複雑な計算式の作り方を解説していきたいと思います。



まず完成形。
A列に数値を入力していき、B列に3の倍数と3がつく数字のときに(アホ)と表示するように計算式を設定しています。

img080930-01.png



複雑な計算式になりそうな場合、私も一発で計算式を書くコトはせずに、

まずは条件を整理する
その条件毎に計算式を書いてみる
最後に1つの計算式にまとめる

と言った方法を取ります。
という事で、まず「アホ」になる場合の条件を整理してみましょう。

1.3の倍数である
2.3がつく値である
3.1か2どちらか(もしくは両方)を満たす場合である


ですね。

この3つを1つずつ計算式にしてしまえば完成してしまいます。
それぞれ関数を使えば求められるので、1つ1つを見ると実はとてもシンプルだったりします。

次回は3の倍数を求める計算式を解説します。


#連絡先作ってみました。

addr.png

この記事のリンク | コメント[0]

総務部ログの管理人

人事部 千野巳明

人事部
千野巳明

1983年入社
1998年~採用担当
就職活動中の皆さんのお手伝いができるよう、沢山の情報を提供していきたいと思います。

総務部 白取

総務部
白取

情報システム担当
人事・採用の仕事はしていないので、採用とは直接関係の無い事を中心に書いて行きたいと思います。

連絡先

株式会社高見澤

本社所在地
〒380-0813
長野市緑町1605-14
長野ダイヤモンドビル7F
TEL:026-228-0111