Excel-Lesson Lesson 7
基本的には今までのまとめになります。
応用も取り入れていきますので、時間をかけてゆっくり理解してください。
今回ばかりは説明もかなり難しいと思います。
今回は「オームの法則」がテーマです。
これは、回路に電気を流したときに「電流の強さは電圧に比例し、抵抗に反比例する」という法則です。
まずはこちらをご覧下さい。

Excelを起動し、上に書いてあることをいつも通り写してください。
セルB3〜D3のうち2箇所に入力すると、入力しなかったものが
B4〜D4の適する場所に表示される、というものを作っていくことにします。
例えばB3・C3に電流・電圧をそれぞれ入力すると、D4に求められた抵抗が表示されるようにします。
まずは、2つの要素からあと1つを求める式を作ると、
電流(A) = 電圧(V) ÷ 抵抗(Ω)
電圧(V) = 電流(A) × 抵抗(Ω)
抵抗(Ω) = 電圧(V) ÷ 電流(A)
これをセルB4〜D4にひとまず入力してみます。
B3〜D3に情報が入力されることを考えると、
セルB4…=C3/D3
セルC4…=B3*D3
セルD4…=C3/B3
このとき、B4とD4には「#DIV/0!」と表示されるかもしれませんが、気にしないでください。
これで、3つのうち2つを入力することで残る1つが求められますが、
2つも入力されていなかったり、3つ全て入力されているときであっても、
B4〜C4に全てが表示されることになります。
例えば、次のようになります。

セルD4の「2.5」という情報は必要ですが、B4やC4は必要ない(というか意味のない)情報です。
そこで、そのような場合にはそこを空白にする処理が必要になります。
結局、B3〜D3で入力されているときには、すぐ下のセルは空白にすることになります。
逆に言えば、B4〜D4について「すぐ上が空白だったら、計算する。そうでなければ、空白にする。」という
条件分岐をIF関数で作れるわけです。
これを式に設定すると、
セルB4…=IF(B3="",C3/D3,"")
セルC4…=IF(C3="",B3*D3,"")
セルD4…=IF(D3="",C3/B3,"")
意味はご理解いただけますか?
これを設定すると、この問題が解決した…はずなのですが、
なぜか1箇所しか入力していなくても、また全く入力していなくても、
入力していない部分のデータが全て表示されてしまいます。
例えば、B3だけを入力した場合は次のようになります。

この場合、「2箇所入力されているとき」を条件に加えることで解決できると考えられます。
B3〜D3の中で、何箇所に入力されているかを調べるのに、COUNT関数が使えます。
=COUNT(セル範囲)
という書式になります。
ですから、=COUNT(B3:D3) で個数が求められるのですが、これでは条件が2つになってしまいます。
しかし実は、IF関数で複数の条件について「全て満たしていれば」「いずれか1つでも満たしていれば」という
判断ができるのです。今回は前者の「全て満たしていれば」を使用します。
「すべて満たしていれば」真、つまり条件が正しいと見なされるのです。
これは、IF関数の第1引数にAND(条件1,条件2…)を指定すれば、実現することが可能です。
もちろん、3個以上の指定も可能です。AND(条件1,条件2,条件3)のようにカンマを補ってください。
但し、条件は30個が限界のようです。
=IF(AND(条件1,条件2…),真の場合,偽の場合)
この場合、セルB4〜C4は最終的に次のような式になります。
セルB4…=IF(AND(B3="",COUNT(B3:D3)=2),C3/D3,"")
セルC4…=IF(AND(C3="",COUNT(B3:D3)=2),B3*D3,"")
セルD4…=IF(AND(D3="",COUNT(B3:D3)=2),C3/B3,"")
括弧の関係がわかりにくくなっていますので注意してください。
ANDの第2条件「COUNT(B3:D3)=2」の「=」が「等しいかどうか」という比較をすることはLesson 5で説明しましたね。
そしてB3〜D3の内容を変更すると、次のようになりました。

B3〜D3から2箇所選んでいろいろな値を入力してみてください。きちんと表示されるはずです。
完成版をアップしておきますので必要な方はダウンロードしてください。こちらからダウンロードできます。
今回はここまで。