3.関数のネスト(一つのセルに複数の関数をいれるには)

一つのセルの中にいくつかの関数をいれることをネストするといいます。
正しくは引数の中にさらに関数をつかうことです。
1つの関数の中で最大7回まで使うことができるそうです。

光熱費の年間一覧などのように、最初に関数を入れておいて、
あとから数字を毎月入れていく場合など、数字の入っていない月の合計では
エラーがでてきます。これを防ぐ為にはIF(もしも)という式を使って、
もしこのセルの合計が0だったら、なにも表示しないこと、
とか、もしこのセルに何も入っていなかったら表示しないという
命令(関数)をあらかじめ入れておきます。
式が入っていても合計のセルには何も表示されておりませんが、
数字が入ると自動的に計算してくれるので、とても便利です。

1.合計
月合計のところにはSUM関数がはいっていますが、
もし合計が0なら表示しないで、そうでないなら合計しなさい
といれてみましょう。。

1)数式の編集バーからの編集
=SUM(B$4:B$10)と入っている数式編集バーをドラッグして選択し、



コピーボタンを押して、文字列の右側をクリックし、
貼りつけボタンを押します。



=SUM(B$4:B$10)=SUM(B$4:B$10)となりますので、キーボードから
=IF(SUM(B$4:B$10)=0,"",SUM(B$4:B$10))のように編集してやります。



2)関数ウィザードをつかって
B11のセルを空にしておきます。
数式編集バーの=をクリック、関数ボックスの▼からIFを選択します。



論理式の中でカーソルが点滅している事を確認して、▼からSUMを選びます。



自動的にB4:B10となるので、数式編集バーのIFの文字の上でクリックします。
このときOKとしてしまうとエラーになってしまうので注意してください。
論理式のSUM(B4:B10)の後に=0といれます。
真の場合の欄をクリックして""といれ、偽の場合のところをクリックして
SUMを選ぶとB4:B10がはいります。
数式編集バーのIFの文字の上をクリックします。



最後にOKボタンを押します。
=IF(SUM(B4:B10)=0,"",SUM(B4:B10))となります。

費目合計のN4は=IF((SUM(B4:M4))=0,"",SUM(B4:M4))となります。


2.平均

ここではもし月合計のセルが空っぽなら、ここも空っぽにしなさい、
そうでないなら、平均を出しなさいといいれましょう。

B12のセルを空にしておきます。
数式の編集バーの=をクリックします。
関数ボックスにIFが表示されていればそのままIFのボタンを
クリックします。別の関数が表示されている場合は▼からIFをえらびます。
論理式の欄をクリックしてB11をクリック、=""と書き加えます。
真の場合の欄には""といれ、偽の場合の欄をクリックします。
▼からAVERAGEを選び、数値1が表示されたらB4からB10まで
ドラッグして数式の編集バーのIFの文字の上をクリック、
OKボタンを押します。=IF(B11="","",AVERAGE(B4:B10))となります。

費目平均のO4は=IF(N4="","",AVERAGE($B4:$M4))となります。

※料金の発生しない奇数月の水道代は0でなく、空白にしておきます。
 O列の費目平均の合計はO11の合計平均と一致しません。

次回は便利な日付時刻関数を使って自動的に日付や年齢を出してみます。

========================= 応用してみましょう =====================

月平均の下に、もし7000円以下なら、「がんばったね」、もし10000円以上
なら「節約しよう」、それ以外なら「その調子」といれてみましょう。
もしですから、IF関数をつかいましょう。文字は""でかこみます。
数字はあなたの料金目標に変更しておつかいください。=IF(B2="","",(IF(B12
<=7000,"がんばったね",(IF(B12>=10000,"節約しましょう","その調子"))))

=========================== ご質問コーナー =======================

vol.37で年代別平均値を出すのに、並べ替えてからアベレージ関数を使いま
しょうと書いたところ、toyoshiさんから配列関数を使うと便利ですよと
教えていただきました。配列数式は、関数を普通に入れた後、Ctrlキーと
Shiftキーを押しながら、Enterキーを押すと{}がついて配列数式と
と見なされるそうです。30代の身長をだすには
{=AVERAGE(IF(D2:D12=<30,IF(D2:D12<40,B2:B12)))}となります。

他にもデータベース関数をつかう方法もあります。
あらかじめ年齢を設定しておいて=DAVERAGE($A$3:$D$14,$B$3,B17:C18)と
いれます。詳しくは10回目、データベースのお勉強で扱いますので
楽しみにおまちくださいませ。


Back Next エクセル関数トップ