こんにちは、とりっぷぼうるです。
元々エクセルとは全く縁のない生活をしていましたが、人員不足などで少しでもデータ入力作業や集計作業を効率化するしか方法が無く、仕方がなくエクセルに取り組み始まました。

作業効率化にはユーザーフォームを使いますが、様々な計算などはエクセル関数が必須です。
エクセル関数を使うことができないと、VBAどころじゃありませんし、成績表も作る事ができないのです。
当然ながらエクセルの専門知識もなく、学校に通うこともできずにただ単にエクセルの書籍とにらめっこしながら取り組んでいます。

でも書籍のままだと実用的でないことが多く、エクセル関数を組み合わせてみたら動いた!という実用例・体験談を書いています。
使用頻度トップ10に入るエクセル関数
ワードやエクセルと聞いたらパソコンかあって思う程度かもしれませんが、「エクセル関数」って聞くと、あんまり関わりたくないと思う方多いですよね。
しかしながら、仕事で資料を作ったりする時には必ず向き合わなくてはいけない時が来ます!
エクセル関数とは・・・
決まっている計算をする為に使う数式で、エクセルでは「=関数名(セルの範囲・条件)」であらわされています。
その為に、この型(関数)を使えばエクセルが正確に計算して答えを出してくれますので、難しい事はありませんよ。
使用頻度が高い10種類のひとつ、IF関数をマスターすれば無駄な計算時間や入力作業時間を省けるので作業効率化できますよ
IF関数で条件により処理を変えられる
個人的に一番使用頻度が高いエクセル関数です。
エクセルの書籍などには、「指定した条件を満たしているかいないかにより、表示する内容を変える関数」など条件分岐と書かれています。
また、エクセルで「=IF」と入力すると、「論理式の結果(TRUEかFLASH)に応じて指定された値を返します」と表示されますが、意味が分かりにくい。
要するに「もし~だったら○、そうでなかったら×」という事です
このように考えると、エクセルを使っていて思い当たることありませんか?
- 男性と女性を振り分けたい!
- 合格と不合格を振り分けたい!
- 期限内と期限切れを振り分けたい!
例をあげたらきりがないですよね。
ここでは、男性と女性を振り分ける実例で説明しましょう!
ボウリングのリーグ成績表で男女別のアベレージやハイゲームなどを記載することありますが、エクセル関数IFを使うと簡単に振り分けられるようになります。
条件分岐なんて難しい言葉だけど、ボウリング風に書くと、もし、このハイゲームが男性だったら、○、そうでなかったら、×かな。
これなら覚えやすいですね。
簡単に成績表っぽいのを上記図のように書きましたが、セルH列にHGを数式、=MAX(D4:F4)で、H4に西船橋さんのHGが表示されます。
同じように、船橋・東船橋・津田沼と全員エクセル関数MAXで計算できますが、このままだと、性別関係なしにH列にHGが計算されるので、男女別で成績を作るには探すしかなくなります。
そこでエクセルIF関数を使ってセルI4に西船橋のHGを入れたければ、数式で書くと・・・
セルI4の値は、もし(西船橋の性別=”男”だったら、H4の値を表示、そうでなかったら、空白)が日本語で書いた場合です。
“”で空白になります。
そして、右隣のセルJ4には、女性の時に表示させたいので・・・
セルJ4の値は、もし(西船橋の性別=”女”だったら、H4の値を表示、そうでなかったら、空白)が日本語で書いた場合です。
そうすれば、セルI10に男性HGをMAX関数で、セルJ10に女性HGをMAX関数で入れておけば完成です。
簡単でしょう!
ついでに参考までに合格と不合格も書いてみましょう
先ほどの図でG列にボウリング3ゲーム合計点数が表示されています。
400点以上を合格とした場合にK4にそれぞれ合格・不合格を表示させるには、
セルK4の値は、もし(西船橋の合計点数が400点以上だったら、合格と表示、そうでなかったら、不合格)が日本語で書いた場合です。
以上や以下など表示方法が異なるので表にしてみました。
セルの値が400より大きい | セルの値>400 |
セルの値が400以上 | セルの値>=400 |
セルの値が400より小さい(未満) | セルの値<400 |
セルの値が400以下 | セルの値<=400 |
セルの値が400と同じ | セルの値=400 |
セルの値が400ではない(等しくない) | セルの値<>400 |
ここまでは、エクセルIF関数の基本的な使い方(条件が1つ)です。
もし2つあったらどうしましょう?
もし~が■または▲だったら○、そうでなかったら×
一般的な具体例が思いつかないので、いつも使っているボウリングのリーグ戦での成績表で説明していきます。
この画像はボウリングリーグ戦で使っている成績表なんですが、【日付を入力するとデータが差し替わる表を作るにはDGET関数】のページでもお話しした個人専用の成績表です。

ボウリングリーグ最終結果の発表の時に、ハイゲームやハイシリーズがトップの方を表彰しますが、規定外投球(通称:先投げ)時のスコアーは表彰対象外としているので、個人専用成績表に「先投げ」欄を用意しています。
ここに先投げの時は数字の「1」を入力しています。
そうすると、ハイゲームとハイシリーズが「0」になり、先週までの点数を反映するように数式が入っています。
また、お休み(通称:ブラインド)時はスコアー自体が空欄になりますので、先投げの場合またはブラインドの場合っていう条件が2つになるのです。
ここでOR関数の登場です。
エクセル関数OR
リーグ成績表では、IF関数との組み合わせで使っています。
先ほどの2つの条件の時をボウリング風に書くと、こうなります。
もし、先投げまたは、ブラインドだったら先週までのハイゲームを表示、そうでなかったら、今週のハイゲームと先週までのハイゲームを比べて点数の大きいスコアーを表示する
って、なります。これをエクセル関数を使ってこのように書いています。
これでうまくいきます。
AND関数は現在、リーグ成績表には使っていませんので例がありませんが、ORの場所にANDを代わりに入れれば使えます。
例えば、最初のボウリングの成績では人数調整などで従業員やプロボウラーが参加することがあり、男性・女性・従業員・プロボウラーを区別する必要があります。
そうすると・・・
もし男性だったら、女性だったら、従業員だったら、プロボウラーだったらと4つになってしまいます。
この場合、無理やりIF関数を使ってセルA4に数式を書くこと、このようになります。
もし、C4の性別が男だったら「1」、女だったら「2」、従業員だったら「3」、プロだったら「4」というようなIF関数を並べて書けば可能です。
こんなに短い数式ならばマネすることができますが、実用的ではありません。そこで、もっと便利な「セルの値により複数の答えを探すエクセル関数CHOOSE」を使う方が簡単です。
「CHOOSE関数を使う時は3つ以上に振り分ける時、種別判断や人数判断などの振り分ける数が多い時は圧倒的に使い勝手が良いし、数式もシンプルなのでマスターしたほうが作業効率化になります。


Excel-VBAを使えば数分かかる作業がたったの1秒で終了しますよ!