| 「中級・特別編トップへ」 | |
| 中 級 10 |
Excelの基礎■ |
| |
|
| |
|
|
ここで、論理関数と統計関数のネストについて使用例をあげながら解説します。ネスト関数の入力方法と要点は、中級5、6に解説していますので、参考にしてください。
■IFとMAX関数のネスト◆使用例 1下図のボーリング大会のデータで解説します。図のデータは、第3回目のものですが、過去2回の最高点と比較して、それをクリアしたかどうかを評価したものです。
佐々木選手の評価欄B10セルへネスト関数をつくり、あとの選手へはコピーしたものです。(セル参照は、相対参照。) ※このような関数を作る場合、論理式の作り方に注意が必要です。論理式の引数にAND関数などの論理関数を入れる場合は、そのままで論理式は成り立ちますが、例のようにMAX関数などを使った場合、その関数で求めたものと他のデータを比較する構造にしなければいけません。この例では、比較演算子を使い過去の最高点と比較する(>B9)ようになっています。
◆使用例 2さて、「使用例1」では過去の最高点と同点であった場合、論理式に(>B9)と設定していますので未達成となります。これを別途に同点の場合は、”同点”と表示させるネスト関数を作ることもできます。
図のように、IF関数の引数にさらにIF関数を使っています。構造は、始めのIF関数で、過去2回の最高点を超えているかどうかを判定させ、さらにIF関数で同点かどうかを判定させるものになっています。 =IF(MAX(B3:B5)>B9,"達成",IF(MAX(B3:B5)=B9,"同点","未達成")) 始めのIF関数の偽の場合の引数に、もう一回IF関数を入れ、さらにその論理式の引数にもう一度MAX関数で最高点を求め、過去2回の最高点と同じかどうかを判定させて、真の場合(同点の場合)は、同点の文字、偽の場合(以下の場合)は、非達成の文字を表示させるようにしています。 ※このように、IF関数の引数にさらにIF関数を使うと、より複雑な条件分岐が可能です。入力方法は、少し複雑ですが、マスターすれば関数の使い道が広がります。 |
■入力規則を数式で設定入力規則(初級9、10参照。)の設定には、ユーザー設定として数式を入力し、入力を制限することができます。
たとえば、A列へ入力規則を「=A1>B1」と設定すると、横のB列の値より大きいデータしか入力できなくなります。小さい値を入力するとエラーメッセージが表示されます。(入力手順は、下記の関数の場合と同じ。)
■入力規則を関数で設定入力規則を数式で設定できると言うことは、当然、関数でも設定できます。ただし、配列数式は、使えませんので注意してください。 ◆使用例リスト(データベース)では、たとえば住所録の電話番号のように、同じ列内へ同じデータの入力を避ける必要があるものです。このような時、COUNTIF関数(中級9参照)を使って入力規則を設定すると入力ミスを回避できます。 A列全体へ入力規則を設定する場合の例です。
これでA列全体へ入力規則が設定され、同じデータが入力できなくなります。同じデータを入力するとエラーメッセージが表示されます。 設定した入力規則をA5セルで確認します。
設定された、=COUNTIF(A:A,A5)=1の意味は、A列内を検索し、A5セルのデータと同じものの数を数え、それが1つであること(A5と同じものがないと言う意味。)を条件に入力できると言う設定です。
※この例では、A列全体へ設定していますが、たとえばA2からA20のように範囲を選択して、指定範囲に設定することもできます。操作は、全く同じです。 ※条件として使用できる関数は、COUNTIFだけでなく他のいろいろな関数でも設定できますので、工夫してみてください。 |