もともとこのHPは私の大好きな「エクセル」のことを書いていこうと
思いついて作ったものなんですぅ。
しかし、最初の頃にちょこちょこと書いてそのまま忘れ去ってしまって
いましたので、8年ぶりに:笑:「エクセル」のことを書いていきますのですぅっ!と
誓いも新たに書きますのですぅ。
で、エクセルと言えば、やっぱり関数でせうと、関数のことをやりますので
ありますのですぅ。
とりあえず初っ端は割と使い出のある「IF関数」なのでございますぅ。。
「条件に従った表示を行う。 if関数」
複数の条件での計算、表示ができます。
7個までの条件を設定することができます。
式は
=IF(対象セル番号と設定条件 , 条件に合致した場合の表示内容 , 合致しなかった場合の表示内容)
となります。
対象セル番号と条件は以下の記号で結べます。
1、セル内容と条件が合致するなら、「=」(イコール)。
2、セル内容が条件より小さいなら、「<」小なり()
3、セル内容が条件より大きいなら、「>」(大なり)
4、セル内容が条件と合致するか小さいなら、「<=」(小なり イコール)
5、セル内容が条件と合致するか大きいなら、「>=」(大なり イコール)
条件が数字の場合はそのまま打ち込んでも構いませんが、
アルファベットや文字を入力する時は文頭と文末に「"」(クォーテーション)をつけます。
数字の場合 A1=1 (A1が1であるならば),
文字の場合 A1="京都", (A1が京都であるならば)
などとなります。
([「"(クォーテーション)」はキーボードの「2」キー プラス 「シフト」キー
で入力できます)
表示内容では、数字でも文字でも必ず「"」(クォーテーション)を
文頭と文末につけます。
=IF(A1>=70,"合格","不合格")
(A1セルが70以上であれば合格を表示、70以下であれば不合格を表示します。)
=IF(A1="国語","1","0")
A1が「国語」であれば「1」を表示し、それ以外なら「0」を表示します。
当然ですが、この「1」を「A」などにしますと、国語なら「A」と表示されます。
好きな文字、記号に変えて遊んでみましょう。
ただし、「国語」なら「社会」と表示するなどといった おちゃめな指示は
後で混乱するだけですのでお薦めはいたしませんです:笑:。
ちなみに上記の場合はこのような式になります。
=IF(A1="国語","社会","")
国語の場合なら社会を表示し、それ以外ならなにも表示しません。
=IF(A1="国語","社会")
上記のように国語以外の場合を指示しないと、国語以外であれば
「FALSE」と表示されます。
また、文字が条件の場合は「<](小なり)、「>」(大なり)は使えません(使えることは
使えるのですけどぉ)。
「<"国語"」(国語より小さいものは?)なんて尋ねられても困ってしまいます。
どうなるのかと実際にやってみますと、数字やアルファベットなら
大概社会が表示され、漢字を入力しますと「FALSE」が表示されたり「社会」が
表示されたりしますので、なにかこだわりがあるのかも知れません。
ひょっとしましたら、文字コードなどの番号の大小で判断していますのかも
知れませんです。
では、次に複数の条件を組合わせて表示させてみましょう。
複数の条件がある場合は、それぞれの条件を「,」(コンマ)で区切り「IF(」で
続け、対象セルと二つ目の条件を書いていき、最後に使った「(」(カッコ)の
数だけ「)」(カッコ閉じ)をつけて括ります。
最大7つまでの条件を指定することができます
(IFを7つ並べられるというわけです。)
では、80点以上なら「A」、60点以上なら「B」、60点以下なら「C」と
表示させたい場合を考えてみましょう。
=IF(A1>=80,"A",IF(A1>=60,"B",IF(A1<60,"C")))
となります。
この場合気をつけることは、先に書かれた条件の方が優先度が高いということです。
上記の式の場合では
80点以上なら「A」と表示し、それ以外なら後の式に従う。
ということになります。
もし、この式が
=IF(A1<60,"C",IF(A1>=60,"B",IF(A1>=80,"A")))
となりますと、60点以下なら「C」、60点以上なら「B」、80点以上なら「A」となり
80点以上の点を「A」としたいのに、全て60点以上に含まれてしまうため
「A」表示となるものも「B」表示とされてしまいますので注意が必要です。
では、これを数字ではなく文字を条件にして結果を表示させてみましょう
=IF(A1="国語","1",IF(A1="算数","2",IF(A1="社会","3","0")))
となり、A1が「国語」なら「1」を、「算数」なら「2」を、「社会」なら「3」を、
それ以外なら「0」を表示します。
もちろん数字をアルファベットや文字に変えれば、それらが表示されます。
ワンポイント1
もし表示を「""(クォーテーション)」だけで、表示内容を書き込まなかった場合、
なにも表示されませんと言いますか、なにも入力されない状態が入力されたという
ことになります:笑:。
「 (スペース)」を入力したような状態と思って頂いてよろしいかと思います。
ワンポイント2
住所一覧などから京都市と言う文字を含むという条件をしたい時、
「*」などのワイルドカードを使って文字列に含まれる文字を
「"*京都市*"」としましてもIF関数の場合「*京都市*」と言う文字列と認識されて
しまいますので「〜を含んだ内容」という条件設定はできませんのです。
この場合は、COUNTIF関数などで一端数値変換してから表示設定してやる
必要があります。
例)京都市を含んだ住所のものは「本社」と表示し、含まないものは「支社」と
標示せよ。
if(countif(対象セル番号,"*京都市*")>0,"本社","支社")
解説) COUNTIF関数でセル内に「京都市と言う文字を含んでいるかいないかを判断します。
範囲が一セルしかありませんから、含んでいれば「1個」含んでいなければ
「0個」と判断されます、さらにIF関数で0より大きければ(京都市を
含んでいればとなりますね)「本社」と表示され、0より小さければ
「支社」と表示されます。
ワンポイント3
条件や表示内容が、別のセルに一覧などである場合、文字や数値の変わりに
セル番号で入力しても同じ結果が返されます。
例えばセルA1に「京都」と入力されているのであれば
=IF(B1="京都","A",B"")
という式と
=IF(B1=A1,"A",B"")
は、どちらでもB1セルが京都であれば「A」、京都でなければ「B」と言う表示が
返されますのです。
ただし、この場合、条件の「A1」は""(クォーテーション)で括ってはいけません
(文字と認識されてしまいます)。
セル番号で入力しました場合のよい点としましては、変更をしなければ
ならなくなった時に、文字で入れ替えていますと、いちいち式を書き
直さないといけませんが、セル番号で入力しています場合ですと、
対象となるセルの内容を書き直すだけで事が済んでしまいますのです。
直す箇所が多かったり、式が複雑だったりします時には手間が全然違い
ますのです。
ワンポイント4
IF関数は、範囲を設定してなにかをするというものではなく、一つのセルに
対して判断を行うというものです。
ただし、AND関数とOR関数を併用しますと「セルAが条件に合致し、かつセルBが
条件1または条件2であればΑを表示、しなければΒを表示といった
複数の条件、いずれかの条件に対しての設定もできます。
以下のような式となります。
=IF(AND(対象セルA=条件,AND(対象セル番号B=条件1,OR(対象セル番号B=条件2))),"合致した場合","合致しなかった場合")
基本的に、IF関数単独では、一つのセルに対しての判断を行う関数と
思っておいて間違いないと思いますのです。(私が知らないだけかも
知れませんですけどねぇ:笑:)
さて、けっこうややこしいように見えますね。
まぁ、数学の方程式や化学の元素式のようなもので、パターンを理解して
しまうまではややこしく感じてしまわれることと思います。
かくいう私も、しばらく使わなかったりしますと、たいてい忘れてしまって
いますです:汗:。
ですが、自分の描いた関数が思った通りの表示を返してくれますと、
ジグソーパズルの最後の1ピースをはめ込んだ時にも似た達成感を
味わえることは保障いたしますです:笑:。
文章だけで覚えるより、実際にエクセルに入力しながらの方が、
結果を確認しながら覚えることができますので、サンプルを用意しましたのです。
どこかの学校の国語の得点結果によって、ランク付けをしましたり
合否判定、男女により補習教室の指示をしましたり、掃除場所の指示を
行うものを作りました。
A列のセルから右のセルに行くに従って条件付けが複雑になって行きます。
ややこしいと言うのが適切ですね:笑:。
とりあえず、if関数だけを使っていますので、他の関数を組み合わせますと
さらにいろいろな検索、表示、計算などが行えるようになりますです。
いろいろと試して、オリジナルな表を作って:笑:くださいませ。
「おまけ」
IF関数とAND関数、OR関数を使って、性別が男手、得点ランクが
AまたはBの者は「ガンダム」、CまたはDのものは「ガンキャノン」
性別が女手、得点ランクがAまたはBの者は「コアブースター」、
CまたはDのものは「ホワイトベース艦内勤務」と表示される関数式を作って
みました。
=IF(AND(A2="男",OR(F2="A",OR(F2="B"))),"ガンダム",IF(AND(A2="男",OR(F2="C",OR(F2="D"))),"ガンキャノン",IF(AND(A2="女",OR(F2="A",OR(F2="B"))),"コアブースター","ホワイトベース艦内勤務")))
クスッと笑えますのですぅ♪
IF関数だけを使った表です。
(上記の「おまけ」はついてます。):笑:
いろいろな関数を使って「個人データ」「成績一覧」「ランク付け」「補修、掃除当番」
などなどの表を作ってみました。
ちょっと欲張り過ぎて、表としては判りづらくなってしまいますたのですぅ。
とほほ・・・。