2013
10
07

VBAを使わなくても結構色々できちゃう、Excel関数を集めてみました

今までVBAについての記事を書いてきましたが、Excelはシート上だけで数式を入力して使える関数というものを持っていて、それだけでもかなり使えることも多いので、今回はそちらの解説をしてみることにしました。


例えば

A1セルに「1」っていう数字が入ってたらA2セルに「あ」っていう文字を入れたいとします。

VBAだったら

前こんなの書きましたが、これを参考にVisualBasicEditor画面の適用したいシートのコード画面に

って書けばできます。A1が1じゃなかった場合、A2をクリアしなきゃいけないってのがちょっと面倒ですよねー。でもExcel関数を使うともっと簡単!

Excel関数を使えば

A2セルに、

って書いちゃえば終了なんです!どうでしょう、全然違うと思いませんか?(説明はのちほど)

目的によって使い分けよう

VBAはすごく便利ですが、シート上で関数を使ったほうが楽な場合もたくさんあります。こっちは関数で、こっちはVBAで…っていう使い分けが出来るととっても楽なので、是非覚えてみてくださいー!

Excel関数とは

Excelのヘルプから引用すると、

関数とはあらかじめ定義された数式のことで、引数と呼ばれる特定の値を使い、特定の順序(構造)に従って計算を行います。関数を使用すると、単純な計算だけでなく複雑な計算も行うことができます。

と書いてあります。「=SUM(A1:A5)」のような、SUM関数(範囲内の合計)が一番よく使われているんじゃないでしょうか。

オートフィルと絶対参照

数値や、日付などが書かれたセルの右下をドラッグすると、予測された内容がドラッグされたセルに入るという機能ですが、関数の数式にも適用できます。

131007-1

自動で内容を変えてくれてとってもお利口さんなんですが、変えてほしくない部分もありますよね。

131007-2

そういう場合は変えてほしくないアルファベット(または数値)の前に「$」をつけます。これが絶対参照と呼ばれるもので、オートフィル機能を使っても内容が変化しません。

計算する関数

各引数をセルで指定したり、関数を重ねて使うことが出来ます。例えば、このように。

こう書くと、A1:A3の範囲の平均を 、B1セルに書かれた数値の桁数(小数点以下)で四捨五入する、という式になります。このように使うことでセルの値を変えると自動的に計算結果も変わる、ということが出来てとても便利です。

もちろんこれはほんの一部で、便利な関数はたくさんありますので調べてみてくださいー!

条件判定して使う関数

書き方

条件式が満たされている場合は真を表示し、 満たされていない場合は偽を表示します。文字列が含まれる場合は、「“(ダブルクォーテーション)」で囲みます。

例えば、セル同士を使った計算式など、内容によってはエラーになってしまって、「#VALUE!」のような表示になってしまうことありますよね。

それを、このように書くと「もしA1/A2の計算式がエラーだったら」、真(エラー)なら「“”(文字数ゼロの文字列、つまり空白)」を、偽(エラーではない)なら「A1/A2」を出力することができます。

条件式の例

上記の例の「B」はセルを指定しても、値を直接指定しても大丈夫です。ただし、「大きい」「小さい」を比較するものは、両辺が数値でないとなりません。

「セルが空白」という条件には、

  • 数式の結果、“”(空白)となっているセル
  • 数式も何も入っていない、からっぽの状態のセル

という2つが考えられます。※1では両方とも真となり、※2では式の入っていない空セルしか真になりませんので、使い分けることができます。

複数条件

このように書くことで、条件全て(いずれか)を満たした時のみ、という設定もできます。また、重ねて使う(入れ子と呼びます)ことで更に複雑な表現ができます。

これは、A1セルに数値以外のものが入っているか、真なら空白、偽ならば更にIF文…のように入れ子になっている例です。80以上なら◎、50以上なら○、30以上は△、それ以外は✕、と表示されます。

IF関数は左から順に判定し、真になった時点で終了してしまうので、優先度の高いものから左側に実装していきます。

セルを数える

数えるという関数だけでも結構バリエーションがあります。

検索条件の例

「*」は文字列に使えるワイルドカード(任意の文字)で、前後につけることで細かな条件が設定できます。

&を使ってセルと結合して使うことも出来るので、セルの値に連動した検索条件なんていうのも実装できちゃいます。

Excel関数、覚えると便利!

ざっくり説明しましたが、ここで紹介したものはほんの一部分です。VBAを使わなくても、エクセル関数だけでかなりのことができそうですよね?覚えてみて損はありません(何よりVBAより敷居が低いですし)ので、是非参考にしてみて頂けたらと思います!

他にもいろいろ

  • このエントリーをはてなブックマークに追加
  • follow us in feedly 618
  • RSSを登録

公開日:2013/10/07
更新日:2014/02/11


コメントを残す




*印は必須項目です。コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にですがスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)


back to top