Excel 入門講座 ExcelVBAPartsCollection DownLoad Home
Excel Referrence Manual Excel Function Manual  BBS Links


主婦のための Excel 入門講座

(Excelの計算式と関数の入力)

第4回 関数が複数ある計算式

今回の主な内容 
1 計算式の中に複数の関数を使う
2 二つの関数の計算結果を加算する
 (1) SUMIF関数の内容(条件を付けて合計する)
 (2) SUMIF関数の入力方法
3 二つの関数の計算結果の文字を結合する
 (1) DATEDIF関数の内容(日付の経過期間を計算する)
 (2) DATEDIF関数の入力方法



1 計算式の中に複数の関数を使う

Shun:今回は、計算式の中で複数の関数を使うときの指定方法について説明しよう。
 関数を使った計算式では、ごく簡単な合計計算の場合などを除いて、1つの関数だけで計算式が成り立っていることは少いんだ。

 また、関数は、組み合わせて使うことによって、いろいろ複雑な計算でもできるようになるし、便利な使いかたもできるようになるから、是非、覚えるておくといいね。 

優子:複数の関数を使うなんてなんだか難しそうだけど、私にもできるのかしら。

Shun:そうだね。実際に使ってみるまでは誰でも心配なんだけど、前回も言ったように、関数の意味を一つずつ考えていけば、何も難しいことはないよ。あとは最終的な答えを求めるまでの計算の順序をどうするかだけなんだからね。

 関数を複数使う場合に、おおまかに分けると、関数と関数が計算の記号(演算子)で結ばれているだけの計算式と、関数の引数にさらに関数を使う計算式とがある。もちろん、それだけじゃなくて、この二つを組み合わせた計算式だってあるよ。



2 二つの関数の計算結果を加算する

Shun:じゃあ、簡単なものから順番にやっていこう。関数を演算子で結んだ計算式というのは、関数を使うという点が違うだけで、普通の計算式と何も変わらないんだ。それぞれの関数の答えを算式どおりに順番に計算すればいいわけだからね。

 ただ、ちょつと特殊な例としては、「 & (アンパサンド・・・結合演算子)」を使ったときなんだけど、これは、文字と文字を結合して 1 つの文字にする演算子だから、普通の計算式には出てこないね。

(1) SUMIF関数の内容(条件を付けて合計する)
Shun:まず、下の図を見てね。


Shun:これは、家計簿の一部分を図にしたものなんだけど、表の 9 行目にある「食費合計」というのは、「主食費」と「副食費」の合計を求めようというものなんだ。「SUM関数」を使っても計算できないことはないんだけど、データが沢山ある場合は、データがどこにあるか一々探して計算式を書かなきゃいけないから面倒だよね。

優子:そうよね。データが何件になるか分からないから前もって計算式を作ることができないし、それに、他の科目の集計をやろうとする場合も同じようなことをしなきゃいけないなんてねぇ。かえって電卓で計算した方が速いみたい。

Shun:ところがね、簡単な計算式を 1 つ入力するだけで計算ができちゃう方法があるんだよ。計算式の書き方を図にすると、


Shun:上図が計算式の全体なんだけど、表の「主食費」と「副食費」の支出金額を関数で個別に計算して、「 + (プラス)」の算術演算子でその結果を合計しているんだ。下図は、「主食費」「副食費」それぞれの計算方法と計算結果を表したものなんだ。よく見ると、科目が違うだけだね。

 この計算式を使うと、「主食費」「副食費」の支出が何件あっても、この式一つで計算できてしまうから便利でしょ。

優子:えーっ、そうなの。そうすると、家計簿の支出内容を後から科目別に調べて、どこをどう節約すればいいかという工夫も簡単にできるってわけね。ところで、この計算式の意味を教えていただきたいんですけど・・・

Shun:あっ、そうかそうか、まず計算式の説明をしなきゃね。下図を見て。


Shun:「SUMIF」関数はね、「検索条件に一致する数値の合計を求める」関数なんだ。それぞれの引数の意味を表にしておくね。

SUMIF($B$2:$B$8,"主食費",$E$2:$E$8) の計算式の意味

引数名 引数の値

意          味

範  囲 $B$2:$B$8 評価の対象となるセル範囲・・・・検索条件で指定する値が入力されているセル範囲(検索範囲)。
この図では、検索するのは、科目の「主食費」なので科目欄のデータ範囲を指定します。
検索条件 "主食費" 計算の対象となるセルを検索する条件を、数値、式、または文字列で指定します。
なお、検索条件に文字列を指定する場合は、文字を" "で囲みます。
この図では、科目の「主食費」の合計を求めるので、文字列 "主食費" を指定します。
合計範囲 $E$2:$E$8 実際に計算対象となるセル範囲を指定します。
合計範囲に含まれるセルの中で、検索条件を満たす「範囲」のセルと同じ行のセルだけが計算対象となります。
この図では、合計をしたいのは「支出」の金額なので支出欄のデータ範囲を指定します。

Shun:上の表で、「範囲」「合計範囲」を絶対参照にしているのは、他の科目の合計を計算するために、計算式を複写したとき表のデータ範囲を固定させておく必要があるからなんだ。もっとも、複写したときは、「検索条件」の値を変更する必要はあるよ。

優子:先生、検索条件で指定した値を探しに行くセル範囲が「範囲」で、もし一致したデータがあったときに、合計する数字のあるセル範囲が「合計範囲」というわけね。
 それで、「範囲」の中で検索条件の値と一致したセルの同じ行の「合計範囲」の数字を合計した結果が答えになるってこと?

Shun:よくできました。優子さん、完璧だよ。(^O^)//パチパチ


(2) SUMIF関数の入力方法
Shun:では、いま説明したSUMIF関数を実際に入力してみることにしよう。1 つの計算式の中に複数の関数を入力するといっても、特別なことをするわけじゃないから、前回に入力した「IF関数」の入力方法のことを思い出してね。

優子:はい。まず、計算式入力セルをクリックして、「関数の貼り付け」ボタンをクリックすると、「関数の貼り付け」ダイアログボックスが表示されるから、そこで、分類名を選択してから関数名を選択するんだったよね。

Shun:よく覚えていたね。そのとおりだよ。下図がその画面だよ。


Shun:SUMIF関数の名前をクリックしてから、「OK」ボタンをクリックすると、「数式パレット」が表示されるんだったね。


Shun:ここでは、引数の「範囲」にセルの範囲を入力するから、入力ボックスの折り畳みボタンをクリックする。


Shun:検索の対象となる範囲の「科目」欄のデータ部分をドラッグすると、折り畳まれた「数式パレット」に選択した範囲が入力されるので、パソコンのキーボード「F4」ボタンを1回押して絶対参照に変換する。次に、右端にあるボタンをクリックして、元の大きさに戻す。


Shun:最初のSUMIF関数では、「主食費」の合計をするわけだから、「検索条件」の引数入力ボックスに "主食費" と入力する。次は、「合計範囲」の指定。これも、「支出」欄のセル範囲を指定するので、入力ボックスの折り畳みボタンをクリックする。


Shun:今度は、合計の対象となる範囲の「支出」欄のデータ部分をドラッグすると、折り畳まれた「数式パレット」に選択した範囲が入力されるので、パソコンのキーボードの「F4」ボタンを1回押して絶対参照に変換する。次に、右端にあるボタンをクリックして、元の大きさに戻す。


Shun:これで 1 つ目のSUMIF関数の入力が終わったわけだ。「数式バー」に、いま指定した内容がちゃんと表示されているね。そして、図の左下には「数式の結果=8,300」と答えも表示されている。

優子:なるほどね。1つの関数の指定が終わると、その関数の計算結果がこうやって表示されるっていうわけね。(゚ー゚)(。_。)ウンウン

Shun:さて、2 つ目のSUMIF関数を入力するんだけど、ここで「OK」ボタンをクリックしちゃあいけないよ。「数式パレット」の「OK」ボタンは、最後の計算式の入力が完了したときだけクリックするんだからね。

 次の関数を入力するには、まず、数式バーに表示されている計算式の右の空白部分をクリックする。「名前ボックス」を見ると、「SUMIF」と表示されているね。これは、いま使った関数が表示されているんだけど、2 つ目の関数に最初と同じ関数を使うときは、関数名が書かれた部分をクリックすればいいんだ。

 ちなみに、別の関数を指定するときは、「名前ボックス」の右端にある▼ボタンをクリックすると最近使用した関数の一覧が表示される。一覧に使いたい関数がないときは、一覧の中の「その他の関数」をクリックすると「関数の貼り付け」ダイアログボックスが表示されるので、そこで関数名を選択することになるんだ。

 じゃあ、名前ボックスの「SUMIF」のところをクリックして。


Shun:新しいSUMIF関数の「数式パレット」が表示されたね。ここから先は今までやった操作の繰り返しだから省略するよ。それと、「数式バー」を見てご覧。1 つ目の関数の式の後ろに「 + (プラス)」の文字が入力されて、「SUMIF()」となっているね。

 計算式の途中で新しい関数を選択すると、自動的に「 + (プラス)」の文字と新しい関数名も入力されるんだ。もし、別の記号を使いたかったら数式バーで修正すればいい。


Shun:これが全ての計算式の入力が完了したときの画面だよ。関数の内容の説明文の右方向を見ると「=3500」という文字が出てるね。これは、2 番目のSUMIF関数の計算結果なんだ。そして、画面の左下に「数式の結果=11,800」と表示されているのが計算式全体を実行した結果の答えなんだ。

 これで計算式の入力はすべて完了したから、「OK」ボタンをクリックすると、計算式入力セルに答えが表示されるっていうわけ。優子さん、どうもお疲れさん。

優子:そうかぁ、計算式の中に関数がいくつあっても、引数の内容はともかく、入力の方法はどれもいっしょなんだぁ。ただ、新しい関数を入力するときだけ、式の後ろの空白部分をクリックして、名前ボックスで関数を選択すればいいのね。意外と簡単ね。

Shun:そうそう。優子さんみたいに物事を性質的にとらえる覚え方は非常にいいことだよ。あの関数のときはこうで、この関数のときはどう、という方法だと関数は300以上もあるから覚えるのも大変だし、応用が効かないからね。要するに関数の名前や機能は違っても、指定する手順とか操作方法はどの関数もほとんど同じなんだ。


3 二つの関数の計算結果の文字を結合する

Shun:今度は、二つの関数の計算結果の値を結合して一つの文字にする方法について説明しよう。例として、年齢計算をやってみるね。

(1) DATEDIF関数の内容(日付の経過期間を計算する)
Shun:下の図は、生年月日と今日の日付を入力して、年齢計算するもので、DATEDIF関数を二つ使って年と月を計算してから、出てきた答えを結合して「○○歳××ヵ月」というように表示させる計算式なんだ。とりあえず図を見て。


Shun:表の 2 行目は年だけを計算する式。3 行目は年と月を計算して結果の値を結合する式だよ。数字だけを結合すると意味がわからなくなるから、「年数」と「月数」の間に「歳」という文字、「月数」の後ろに「ヵ月」という文字も結合させているんだ。

 式の途中に赤い文字で「 & 」の記号が 3 箇所あるよね。あれが文字と文字を結合させるための記号で「アンパサンド」という名前だよ。記号の分類では「結合演算子」と呼ばれている。

 それから、DATEDIF関数は、「アドイン関数」とも言って、普通にExcelをインストールした状態では使うことができなくて、上図の(注1)に書いてあるような処理を前もってする必要があるんだけど、1 回だけこの処理を実行すれば以後はしなくていいよ。

 ただしね、(注1)の処理を実行しても、DATEDIF関数の関数名はExcel2000の関数名一覧の中に表示されないから、関数を手入力する必要があるんだ。これはチョット不親切だよね。だって、知ってる人しかこんな関数があるってことすら判らないもんね。

 さてと、3 行目の関数の式をそれぞれ個別に見ると、次のようになっているね。


Shun:式の前半の部分は「年数」、後半部分が「月数」の計算をするための関数だよ。最終的には、「年数」の答えの後ろに「歳」という文字、次に「月数」の答え、最後に「ヵ月」という文字をすべて結合したものを計算式入力セルに表示することになる。

 それじゃあ、DATEDIF関数の機能と書式をみてみよう。


Shun:DATEDIF関数は、「開始の日付と終了の日付を指定して、その間の年数、月数、日数の計算をする関数」で、計算する単位は右図にあるように、計算内容によって決まった記号を引数に指定するんだ。

 書式の図では引数の「開始日」としてセル「A2」の値を参照し、「終了日」にセル「B2」の値から 1 をマイナスした日付、つまりセル「B2」の前日を指定したことになる。また、「単位」に "Y" を指定してあるから、右図を見ると「期間内の年数」を求めることができるということになるね。

DATEDIF(A2,B2-1,"Y") の計算式の意味

引数名 引数の値

意          味

開始日 A2 期間の開始日を指定します。
この図では、生年月日の入力されているセル(A2)を参照しています。
終了日 B2-1 期間の終了日を指定します。
この図では、今日の日付の入力されているセル(B2)を参照しています。ただし、年齢計算は、誕生日の前日で1歳を加算しますので、引数の値から 1 をマイナスして「終了日」の日付を「今日の日付」の前日としています。
なお、今日の日付は「TODAY()」関数で求めていますので、パソコンを使用している日付となります。
単 位 "Y" 求める単位の種類の記号を指定します。それぞれの記号が計算する内容は、右上図のとおりです。

優子:先生、この計算式、さっきの「SUMIF関数」と書式がそっくりだわ。

Shun:そうだね。さっきも言ったけど、関数は、引数の種類や内容は違うけど、指定方法はほとんど同じだということがよく分かるでしょう。早速、入力してみようか。


(2) DATEDIF関数の入力方法
Shun:DATEDIF関数は、決まった「数式パレット」がないから、引数の内容をどうやって調べたらいいか分からないよね。そんなときには、とりあえず関数名と()だけ入力して、数式バーの左にある「=」の形をした「数式の編集」ボタンをクリックすると下図の画面が表示されるから、ヘルプボタンをクリックすると関数の説明を見ることができるよ。


Shun:関数は、「数式パレット」で入力しなくても、普通の計算式と同じように、直接「数式バー」に入力こともできるんだ。今回は、その練習になるから「数式バー」での入力方法の説明をしよう。


Shun:まず、関数入力セルをクリックして、「数式バー」に「 = 」記号と「 ( 」(左かっこ)に続けて関数名を入力する。それから、最初の引数として、セル「A3」をクリックしてセルを参照する。続けて区切り記号の「 , (カンマ)」を入力する。


Shun:次に、2 番目の引数として、セル「B3」をクリックしてセルを参照する。続けて上図の青枠で囲んだ部分の文字を入力する。"Y" が 3 番目の引数になるね。それから、「&"歳"&」は、関数の計算結果の値に「歳」という文字を結合するんだよ。


Shun:数式の入力のときにも複写機能を使うことはできるんだよ。赤枠で囲ったところをドラッグして、そのままの状態で右クリックするとショートカットメニューが表示されるから、「コピー(C)」をクリックする。

 "歳"の右の「 & 」マークの右を右クリックしてショートカットメニューの「貼り付け(P)」をクリックすると、青枠のところに計算式が複写されたね。そしたら、複写された"Y" を "YM" に、"歳" を "ヵ月" に修正して、緑色のレ点のような形をした「入力」ボタンをクリックする。これで計算式の入力が完了というわけだね。


Shun:今回の講座は、関数の書式がどうなっているかということと、入力方法を覚えるのが主な目的だから、関数の意味は詳しく説明しなかったけど、ヘルプなんかでよく勉強しておいてね。せっかくだから覚えておくに越したことはないからね。

優子:先生、関数の書式の意味は、例題をいくつかやったから分かったような気がするけど、関数の機能とか引数の意味は関数によって内容が違うから勉強しないといけないね。でも、これまで使った関数はなんとか使えるようになったみたい。

Shun:今日の講義は少し長くなっちゃったから、関数の引数の中に関数を使う方法は次の回にしよう。それで「番外編」はおしまい。

優子:だんだん中身が濃くなるから、しっかり復習しておかなくちゃね。先生、今日はどうもありがとうございました。また、次回も楽しみにしています。m(_ _)m ペコッ


inserted by FC2 system