「エクセル関数」カテゴリーアーカイブ

関数の挿入基本

四則計算以外は関数を利用することが多いと思います。今更ながら、関数の出し方です。

まずはオートサムのボタンの右隣の三角▼をクリックしてその他の関数から関数を選択する方法です。この方法は、よく使うと思われる関数5つがすぐに使えるところが便利です。そのかわり、その5つ以外はその他の関数から探さないといけません。(以下図はExcel2013)

ホームタブの編集にΣ(シグマ)のマークがあります。合計、平均、数値の個数、最大値、最小値の5つから選択できます。

function

この5つ以外の関数はその他の関数をクリックすると関数の挿入のダイアログボックスが表示されます。

 

function_1

数式バーのfxのボタンをクリックすると始めからその他の関数のダイアログが表示されています。オートサムの右の三角をクリックしたときの5つの関数以外を使う場合は少し便利です。 function_2

数式タブの関数から、使用する関数のカテゴリーから選択する方法もあります。これは、使いたい関数がどこに分類されているか覚えている(見当がつく)場合は素早く関数を呼び出せます。やりたいことが解っているならおおよそうまくいくと思いますが、どこに分類されているかわからない場合は不便です。

function_3

セルにイコールを手入力してから名前ボックスの右の三角(▼)をクリックすると最近使った関数が10個表示されますし、一番下にはその他の関数もあります。これが一番便利かもしれません。function_4

 

 

 

 

 

関数のヘルプが表示されない

エクセルで関数の使い方の詳細を調べる場合関数のヘルプを参照するとよくわかる場合があります。

help

関数のヘルプが表示され説明や書式などから詳しく関数の詳細を知ることが出来ます。

help_1

しかしながら、同じようにこの関数のヘルプをクリックしてもサポートが必要ですか?と表示されて、上記のようなヘルプが表示されないことがあります。

help_2

検索欄に関数名を入力し検索すればそれらしいものが表示されますが、最初に挙げた関数のヘルプの内容とはかなり違います。これはオンライン(インターネット接続)で検索した結果のようです。

help_3

 

 

最初のようなヘルプを表示したい場合はExcelのヘルプと書かれているところの右の三角(▼)をクリックしコンピューターのExcelのヘルプをクリックします。

help_4

Office.ComのExcelのヘルプっていらない気がするのですが。

平均 AVERAGE関数

AVERAGE関数

引数の平均を返します。

AVERAGE(数値 1, [数値 2], …)

数値1は必須で、数値、セル参照、セルはんを指定できます。

以下のような表があった場合各個人の平均値を求める場合、AVERAGE関数を使用すると簡単です。(以下図はExcel2013)

average

AVEREGE関数はオートサムのボタンの右の三角(▼)をクリックすると平均と表示されていますのでクリックします。

average_1

平均を求める範囲が囲まれて表示されていますので確認してEnterキーを叩いてください。

average_2

ただ気を付けていただきたいのが、下の表のように各科目と平均の間に合計などの平均に関係のない列や行が間にある場合は正しい範囲が選択されません。

average_4

マウスポインターが白の十字の形をしている状態でドラッグして平均を求めたい範囲を選択しエンターキーを叩きます。

average_5

これで正しく平均値を求めることが出来ました。average_6

シート数を調べる SHEETS関数 INFO関数

エクセルファイルで沢山のシートを使用すると現在総シート数はいくつなのか知りたいことがあるかもしれません。

そこでシート数を数えてくれる関数のご紹介です。

SHEETS関数
範囲内のシート数を返します。

引数は取れますが、複数シートにまたがる範囲につけた名前だと思われますのでブックのすべてのシートの数が欲しいときは引数なしで

=SHEETS()

としてください。ただし、excel2013からの関数のようでエクセル2010では#NAME?のエラーが表示されます。

エクセル2007以降(2003でも使えます)で使用できるものとして

INFO関数があります。

=INFO(“NUMFILE”)

として使用します。引数はほかにも取れますが、シート数以外の情報が取得できます。

ただし、私の環境だけかもしれませんが、excel2013では、INFO関数でシート数を取得する場合は同時に開いている別のエクセルファイルのシート数もカウントするようです。エクセル2010では別のブックの影響を受けませんでした。

 

 

 

最大公約数と最小公倍数 LCM関数 GCD関数

最大公約数も最大公倍数も関数があるので簡単に算出できます。

LCM関数

最大公約数を求める

LCM(数値 1,数値 2,…)

 

GCD関数

最小公倍数を求める。

GCD(数値 1,数値 2,…)

両関数とも共通で引数は1個から255個まで指定できます。数値を入れても、セル参照でもかまいません。また、セル範囲(参照演算子のコロンを使ったセル範囲)でもかまいません。

少数は切り捨てられます。

引数には負の数値は指定できません。

GCD

SUMPRODUCT関数2

SUMPRODUCT関数の基本的な使用法はSUMPRODUCT関数を参照してください。

下のような商品名、価格、数量がある表で価格×数量の合計を作業列を作成せず、SUMPRODUCT関数で求めることが出来ます。

sumproduct

 

セルC20に =SUMPRODUCT(B2:B19,C2:C19) と入力します。

sumproduct_2

というのをご説明しました。

今回はすべての価格×数量の合計ではなく特定の商品の価格×数量の合計をSUMPRODUCT関数で計算します。この表では同じ商品が3回ずつ登場しています。バナナだけの価格×数量の合計を計算してみます。

セルC20に =SUMPRODUCT((A2:A19=”バナナ”)*1,B2:B19,C2:C19) と入力します。

sumproduct_5

説明しているサイトによっては、 =SUMPRODUCT((A2:A19=”バナナ”)*B2:B19,C2:C19) や =SUMPRODUCT((A2:A19=”バナナ”)*B2:B19*C2:C19) のような式もあります。

SUMPRODUCT関数は引数の配列を対応する項目の積を計算し合計する関数でした。

=SUMPRODUCT((A2:A19=”バナナ”)*1,B2:B19,C2:C19)  は
(A2:A19=”バナナ”)*1 と
B2:B19 と
C2:C19 の3つ引数があります。セルA2、B2、C2の値の積を出して、次にセルA3、B3、C3の積を出してとなりますが、第1引数が(A2:A19=”バナナ”)*1と謎です。

計算式のセル参照という項目で説明しましたが、セルD2に =B2:B19*C2:C19 という式を入れた場合入力されたセルD3と同じ行のセルB3とC3の積が計算されます。

sumproduct_6

 

A列は数値ではありませんが、=A2:A19 という式をセルE2に入れると2行目のバナナが答えとして返ってきます。先ほどの計算式と同じ理屈ですね。

 

sumproduct_6-1

 

次に、 =(A2:A19=”バナナ”) という式をセルF2に入れてみます。カッコは無くても今回は大丈夫ですが、さらに先に行ったとき必要です。これも同じように2行目のセルA2の値は、”バナナ”という文字列と等しいですか?等しくないですか?。という式になります。何々と等しいですか、何々より大きいですか、などのIF関数の条件式に使うような数式はTRUEかFALSEが返ってきます。

sumproduct_7

そして、TUREとFALSEにも書きましたが、TRUEに四則計算をしてやると1という数値として扱うことができます。FALSEは0になります。=(A2:A19=”バナナ”)*1 はTRUE×1なので1が返ってきます。

sumproduct_8

 

=SUMPRODUCT((A2:A19=”バナナ”)*1,B2:B19,C2:C19)  は第一引数が1か0になります。A列がバナナの時は1、バナナでない時は0になりますので、1*12*3(セルA2、B2、C2の値の積)、0*250*5(セルA3、B3、C3の積)と順に積を計算し合計してくれるというわけです。

他のサイトで見たという、SUMPRODUCT関数の使い方も意味は同じです。*1とせずに次の配列を掛けている =SUMPRODUCT((A2:A19=”バナナ”)*B2:B19,C2:C19) は無駄もなくかっこいいですが、関数ボックスで見ると引数が2つなので、関数の意味をよく理解できていないうちは、なぜ範囲と範囲を掛けているのか理解が難しいかもしれません。

sumproduct_9

 

TUREかFALSEかの真偽の値に、価格(数値)を掛けることで真偽のTRUE、FALSEを1と0の数値として扱っています。

慣れるまでは×1で数値にした物を別に分けておくと何をしているのか思い出しやすいと思います。

sumproduct_10

SUMPRODUCT関数

SUMPRODUCT関数はとっても便利ですが、ちょっと使い方が難しいです。

SUMPRODUCT関数

引数として指定した配列の対応する要素間の積をまず計算し、さらにその和を返します。
SUMPRODUCT(配列 1, [配列 2], [配列 3], …)

以上Excel2013 SUMPRODUCT関数のヘルプより

下のような商品名、価格、数量がある表で価格×数量の合計を出してみます。

sumproduct

 

D列に行ごとの価格と数量を掛けた数値をだして、SUM関数で合計することで計算できます。

sumproduct_1

うまくいきました。今回必要なのはセルD20の合計だけで、各商品の価格×数量は必要ないといった場合、D列自体(セルD20を除く)を作業列と言ったりします。

今回の合計を作業列なしで計算できるのがSUMPRODUCT関数です。セルC20に =SUMPRODUCT(B2:B19,C2:C19) と入力します。

sumproduct_2

 

引用したヘルプにもあるように(B2:B19,C2:C19) の要素間の積を計算します。セルB2*C2、セルB3*C3、セルB4*C4、と順に第1引数と第2引数のそれぞれを掛け合わせ、その和を返すので最後にすべてを加算してくれます。これなら作業列なしで計算できます。

また、引数の配列は2つ以上(1つは必須)指定できますので、以下のように利益率の列を追加したものでも価格×数量×利益率も同じ要領で計算できます。D列に利益率を記入します。セルD20に =SUMPRODUCT(B2:B19,C2:C19,D2:D19) と入力します。セルB2*C2*D2、セルB3*C3*D3、セルB4*C4*D4、と順に積を計算し、最後に加算します。

sumproduct_3

 

それ以外にも、引数の配列は2列でも大丈夫です。表の形が変わっていますのでご注意ください。価格が2種類あってそれぞれに売れた数量があります。B列とD列を掛けたものとC列とE列を掛けたものの合計を出す場合は =SUMPRODUCT(B2:C19,D2:E19) と入力します。sumproduct_4

 

これも同じようにセルB2*D2、セルC2*E2、セルB3*D3、セルC3*E3、と順に積を求めて和を算出してくれます。これに価格と、価格2の利益率も必要ならF列に価格の利益率G列に価格2の利益率を記入し、第3引数として F2:G19 を入れてあげれば計算できますので試してみてください。

SUMPRODUCT関数には、他にも便利な使い方がありますので別途ご紹介する予定です。

条件に合致する項目の合計 SUMIF関数

合計を出す関数オートサムを参照してください。

特定の条件に一致する項目のみを合計する方法をご説明します。(図はExcel2013)

sumif

お小遣い帳、または家計簿的な項目があります。発生順にどんどん下に追記していくと思ってください。費目ごとに合計を算出したいと思います。2行目と7行目に食費があります。手作業で拾うのはエクセルのかいがないですね。費目ごとのシートか、列を作っておけばいいですが、入力が面倒です。

D列に費目の一覧を作成し、E列に費目ごとの合計を求めます。

sumif_1

SUMIF関数

指定した条件を満たす範囲内の値を合計する

SUMIF(範囲, 検索条件, [合計範囲])

範囲には条件を満たすかどうかを調べるセルを指定します。今回の場合はセルA2からセルA16が範囲になります。

検索条件は、数値、式、セル範囲、文字列、または関数で指定できます。今回はD列の文字列と一致するかどうかを指定します。

合計範囲は金額の入っているセルB2からセルB16になります。

セルE1には =SUMIF(A2:A16,D1,B2:B16) という式で食費だけの合計が求まりますが、この式をコピーするとセル範囲 A2:A16 と B2:B16 が相対参照なのでずれてしまいます。その前に、このままではA列に新たに項目を追加するたびにセル範囲を拡張しなけばなりません。範囲と合計範囲は列すべてにしてしまいます。

sumif_2

セル範囲の指定をA:AとすればA列すべてになります。

sumif_3

あとはセルE1の数式をコピーしておけば完成です。

sumif_4

検索条件にはワイルドカードが使用できます。半角の疑問符 (?) は任意の 1 文字を表し、半角のアスタリスク (*) は 1 文字以上の任意の文字列を表します。

セルE15に費目の最後の文字が「費」で終わるものの合計を出してみます。検索条件は文字列なのでダブルクォテーションで前後を挟み、”*費”とします。*は1文字以上の文字なら該当しますので、「食費」も「交通費」も「なんちゃら費」もすべて検索の条件を満たします。

セルE15に =SUMIF(A:A,”*費”,B:B) と入力します。

sumif_5

末尾が「費」で終わる費目が合計されました。

キーから値を抽出 VLOOKUP 2

VLOOKUP関数は便利で使用頻度も高いと思います。完全一致で値を抽出する、キーから値を抽出 VLOOKUPを参照してください。

今回は、近似値を返す場合をご説明します。

vlookup1

お買い上げ金額により値引き率を変更する場合を考えます。上の図は、1000円買っていただいたら、2%値引き、5000円買っていただいたら、5%の値引きするという意味だと思ってください。A列にある金額と、ちょうど同じ金額をお買い上げなら隣のB列の値を参照すればよいですね。では、例えば3000円買っていただいたら何パーセントの割引率を適用すればよいでしょうか。1000円から5000円未満までは、2%の割引率にします。同様に5000円以上10000円未満は5%が割引率になります。

この時、VLOOKUP関数を使って、うまくB列の割引率が求められるでしょうか。キーから値を抽出 VLOOKUPでは完全一致でしたので、3000円の場合、3000という数値がA列にないのでエラーになってしまいます。1円刻みで表を作っておけば完全一致も可能でしょうが、とっても大変なことになります。

このような場合もVLOOKUPが使えます。A列に金額を入れるとB列に値引き率が返ってくるような計算式をセルB2に入力します。

vlookup1_1

セルB2に =VLOOKUP(A2,$E$1:$F$8,2,TRUE) と入力します。ポイントは第4引数がTRUEとなっているところです。第4引数がFALSEの場合は完全一致になりますが、TRUEの場合は、完全一致で検索し、一致するデータがない場合は、検索値未満の最大値が使用されます。

vlookup1_2

まず、セルA4に3000という値があったら、E1からE8で3000という値を探します。ありませんので近似値を求めます。検索値未満の最大値ですから、3000未満で最大値は1000です。次にVLOOKUP関数の第3引数の2を参照し、第2引数の範囲の2列目の値を返しますので2%という数値が返ってきます。(表に1行目の見出しを含む必要はありません。)

vlookup1_3

第4引数のTRUEを使うときは、参照する表(今回は、$E$1:$F$8)の左端列が昇順に並んでいないと正確な結果が返ってこないことがあります。($E$1:$F$8の絶対参照はコピーするときのためで必須ではありません。)

TRUEの場合は、第4引数を1としても同じです。また、TRUEの場合は第4引数を省略できます。

ふりがなの表示PHONETIC関数

エクセルにもワードと同じようにふりがなの表示があります。ワードのふりがなはルビ(ふりがな)を参照してください。

下のエクセルは法務省のページからデータをコピーしたものに少し加工をしたものです。(図はexcel2013)

phonetic

B列の管轄区域の各セルにふりがなを表示させます。

ふりがなを表示したいセルを選択します(今回は列選択でB列すべて)。ホームタブのフォントからふりがなの表示/非表示の隣の三角をクリックし、ふりがなの表示をクリックします。

phonetic_1

行の高さが高くなりふりがなが表示されるはずですが、今回は表示されませんでした。

phonetic_2

これはWebから文字をコピーしてきた場合(たぶんすべての場合だと思いますが)ふりがなは表示されません。

自分で入力したものやワードからコピーしたものはふりがなが表示されます。仕方がないので、データを打ち直しました。(本当は、別の方法で打ち直すより少し早くできます)

A列の局名にふりがなを表示してみます。A列を選択しふりがなの表示/非表示のボタンからふりがなの表示をクリックします。

phonetic_3

うまく、ふりがなが表示されました。ふりがなが不要になって、消したい場合はふりがなを消したいセルを選択し、表示の時と同じボタンをクリックします。

現在はふりがながひらがなですが、カタカナにしたい場合があるかもしれません。この場合はふりがなの表示のボタンの2つ下のふりがなの設定をクリックします。

phonetic_5

ふりがな設定で全角カタカナか半角カタカナを選択します。また、フォントタブでは文字色や文字の大きさなどが設定できます。

phonetic_4

全角カタカナで文字色青にしました。

phonetic_6

また、入力した時と違う読み方(ふりがな)の場合はふりがなの編集で自由にふりがなを設定できます。

葵絆(きずな)さんや姫星(きてぃ)さんなどの難読ネームの方も安心です。ふりがなを編集したいセルを選択し、ふりがなの編集をクリックします。

phonetic_7

もともとのふりがなが表示され、カーソルが表示されますので任意のふりがなに打ち直します。phonetic_8

これで難読ネームの読みのふりがなが設定できました。

phonetic_9

先ほどのWebからコピーしたデータでふりがなが表示されない場合も、ふりがな編集で表示されますので打ち変えずに確定すれば入力しなおすより楽だと思います。文字を選択して再変換でも可能です。

これ以外にふりがなを別のセルに表示した場合は全く別の方法になります。

PHONETIC関数

文字列からふりがなを抽出します。

PHONETIC(範囲)

A列とB列の間に1列挿入し(列見出しCの上で右クリックして挿入)ふりがな用の列を作ります。セルB2に=PHONETIC(A2)と入力しEnterキーをたたきます。ふりがなが別のセルに表示されました。

phonetic_10

セルB2の式をオートフィルでコピーします。

phonetic_11

カタカナで表示されていますが、ひらがな変更するためにはもともとの読み仮名があったセルのふりがなをひらがなに変更することで、カタカナからひらがなに変わります。ここはよく勘違いしてしまうところです。B列でごちょごちょしてもうまくいきません。

phonetic_12

A列のふりがなは不要だと思いますので非表示にしておきます。

phonetic_13