#3 エクセル・スプレッドシートの超優しい関数解説!

2020年4月12日日曜日

超初心者向けレッスン



 お待たせいたしました、前レッスンで消化不良になってしまった関数の解説です! それでは張り切ってまいりましょう!
 #3 エクセル・スプレッドシートの超優しい関数解説! 始まりです!

本題「関数を超優しく解説!」

 ということで、#2で使った関数を超解説していこうと思います。

関数の個性

 まず、上の画像を見てください。(一生懸命描いたから見てほしいってわけではありません。)
 四次元ポケットから関数が飛び出していますね!
 なにが言いたいのかというと、これから解説する「関数」を「ドラえもんのひみつ道具」のようなものとしてこのレッスンを受けていただきたいということなのです。
 なぜ関数ひみつ道具なのかと言いますと、関数は一つ一つが独自の個性をもった道具のようなものだからです。

 たとえば、IFは……

 =IF(もしこれが , 正しければこれ 間違っていればこれ)

 という個性をもっています。
 では、前回使った式を見てみましょう。

 =IF(COUNTIF(B2,"*の*")>=1,"2倍","")

 でしたね。
 ぱっと出されると、数式アレルギーが発症してブログをそっと閉じたくなるかもしれませんが、もう少しだけ管理人にお時間をください!
 
 さっそく前回使った式をIFの個性に当てはめて見ましょう。

 もしこれが → COUNTIF(B2,"*の*")>=1

 正しければこれ → "2倍"

 間違っていればこれ → ""

  といった感じになります。

 これで、「2倍」という文字がなぜセルに表れたのかなんとなく想像ついたんじゃないかと思います。
 そうです、もしこれがの部分と照らし合わせて正しかったから、セルに「2倍」という文字が表れたのです。
 何度も言いますが、関数ひみつ道具のようなものなので、なんでそうなるの? っていうふうに考えないようにしてください。なんでタケコプターで空を飛べるようになるんだ? なんて考えても無駄なように、関数も深く考えてはいけません! そうなるようにできているのです。

 では、みなさんが一番気になっているであろうもしこれがの部分を解説いたします。
 下の式を見てください。

 COUNTIF(B2,"*の*")>=1

 まず、関数の文頭に「」がついていませんね。
 IFの文頭にある「」はこのセルでは関数数式を使いますという宣言みたいなものなので、関数の文頭に必要ということではなく、セルに書く文の文頭に必要なのです。そのセル内では、文頭以後の「」は数式と同じ「等号」という意味で使います。(先頭に「+」でもいいのですが、このブログでは=を使います)

 そして、COUNTIFの個性を見てみましょう。

 =COUNTIF(もしこれが ,  これに当てはまったらその分のセルの数をかぞえる)

 もしこれが → B2

 これに当てはまったらその分のセルの数をかぞえる → "*の*"

 簡単に言えば、B2のセルに「の」があれば「1」となります。

 はい、そう言われても、まだまだわからないことだらけですね!
 ここまで読んで、関数の個性については理解できたと思います。
 ここからは、関数を扱う上でのルールを理解していきましょう!

関数のルール(書き方)

「,」カンマ

まず、()内に「,カンマがいくつかありましたね。
 「,」は、関数の個性を表現するための条件を区切る役割を持っています。
 IFであれば、3つの条件がありましたね!

 もしこれが , 正しければこれ 間違っていればこれ 

 「,」で区切らなければ全部がつながってしまい、何がなんだかわかりません。
 関数には独自の個性があり、それどおりに条件を書き加えてあげなければなりません。
 「,」がどのくらい必要なのかは関数ごとに違いますし、どんな条件かも違います。

 関数を使うには個性を理解し、条件を確認しなければならないのです。

「""」ダブルコーテーション2個

 「""ダブルコーテーションは「文字列」と覚えてください。
 セルの文頭に「=」をつけたあと、たとえば「B2」と書けばB2セルのことを指します。しかし、B2を「""ダブルコーテーションで囲めば、「”B2”」これはB2セルのことではなくB2という文字として認識されます。

「>」大なり

 これはそのままのとおりの意味になります。
 ただし、今回扱った式は「>=」となってますね。これは「」と同じ意味となるのですが、エクセル・スプレッドシートでは「>=」と書きます。

 A>B → AはBよりも大きい(AはBを超過)
 
 A<B → AはBよりも小さい(AはB未満)
 
 A>=B → AはBと同じか大きい(AはB以上)
 
 A<=B → AはBと同じか小さい(AはB以下)

※知らなかったのですが、未満の対義語は超過らしいです。間違っていたらすみません。
 

「*」アスタリスク(ワイルドカード)

 「*アスタリスクは別名ワイルドカードとも呼ばれる特殊な文字となります。
 どう特殊かといえば、先程「""ダブルコーテーションで囲まれた文字は文字列として扱われると言いました。ですが、関数にもよりますが「*アスタリスクを別名のとおりワイルドカードとしてあつかうことができます。
 要するに、「*」は、ここに何があってもよいといった意味になります。
 言葉で説明するより用例を見たほうがわかりやすいと思いますので、下の図を見てください。

COUNTOF説明画像

 「*の*」=「(なんかの文字列)の(なんかの文字列)」
 「の*」=「の(なんかの文字列)」
 「*の」=「(なんかの文字列)の」

 ということになります。 

まとめ

 まず、ここまでついてきていただきまして、ありがとうございます!
 ここまでお読みいただけたのであれば、ちんぷんかんぷんだった関数を理解し、読み解くことができたのではないでしょうか?
 そして、このまとめを理解すれば、エクセル・スプレッドシートを学習するための大きな、大きな一歩を踏み出したことになると思います。

 では、さっそく今回のメインイベントである、関数を解説していきましょう!

 =IF(COUNTIF(B2,"*の*")>=1,"2倍","")

 またまたでてきたこの式を見て、もうわかるよ! という方もいらっしゃるかもしれませんね。
 今回解説するにあたり、最後にこの式を日本語訳してみたいと思います。

 もし
 【 IF 】
 B2セルに「の」が含まれていたらそのセルの数をかぞえ、それが1以上であれば
 【 COUNTIF(B2,"*の*)>=1 】
 それが正しければ「2倍」と表記し
 【 "2倍" 】
 そうでなければ、「」(何も表記しない)と表記する。
 【 "" 】
 
 となります。
 どうでしょうか? 管理人がまとめる前に、なんとなくイメージができたのではないでしょうか?
 そして、おめでとうございます! ここまで見てくれたみなさまは、2つの関数を理解できるようになりました。
 
 しかし、もしかしたら、たった2つ……と気落ちしてまう人もいるかもしれません。

 ですが、安心してください!



 関数は覚えなくて良いのです。



 え? と、疑問符が浮かんだかと思います。

 ただ、もちろん、覚えた方がいいに越したことはありません。ですが、今回覚えた関数ですら、忘れてしまっても問題ありません!
 なぜなら、ネットの世界には関数を解説してくださっている方が数え切れないほどたくさんいらっしゃるからです。だから……


 その人達が書いていることを読み解けさえすれば、どんな関数でも扱えるのです。


 なんだその他力本願は! ちゃんとレッスンしろ! 

 ……なんてお叱りの声が聞こえてきそうですが、わからないことを自分で調べ、自力で解決したとき、本当に身についたといえます。

 ただし、残念ながらここでの解説は超解説であり、他のサイトが使っている正規の表現ではありません。

 次回、正規表現を使って解説いたしますが、ここまでっ見てくださった方ならちゃんと理解できると思います。

 そして、最後に宿題を出したいと思います。
 
 使う関数は「SUM関数」とします。下記リンクからデータをダウンロードしてください。

宿題!


 エクセル版データ

 スプレッドシート版データ


 C17セルにC1~C16の数字の合計をSUM関数を使って表記してみてください。
 
 SUM関数の個性は「()内のセル、または数値を合計する」です。
 

やり方

  1. C17セルを選択
  2. C17セルに「=SUM(」まで書く
  3. C1セルをクリックしながら、C17セルまでポインタを移動させて指を離す。
  4. 「)」を入力する。
  5. すると、答えがC17セルに表れます。
 最終的にC17へ書き込まれる式は「=SUM(C1:C16)」になります。「」は範囲を表す表記となり、この場合C1~C16までのセルを選択したことになります。

 また、範囲選択について解説しているサイトを紹介いたします。
 下のリンクをクリックして、そのサイトの解説が読み解けるか試してみてください。

 
 さらに、同サイトのSUM関数の解説のリンクも載せておきます。


 上記リンク先のサイトは株式会社バズワード様のサイトとなります。
 大変詳しくエクセルを解説しておりますので、ぜひとも参考にされることをおすすめいたします。

最後に

もしかしたら、ほかのサイトをおすすめしている管理人の姿勢になにか腑に落ちない気持ちになっている方もいらっしゃるかもしれません。
 そうであれば、この場にて謝罪させていただきます。
 しかし、このブログの目的は、他のサイトを紹介する過程も含め、今見ているあなたを超初心者から脱却させるということに尽きます。
 なにもわからなかった関数を読み解けるようになり、自分で解説サイトを検索して理解できるようになれば、自分なりに関数を書いて使ってみることができるようになります。
 ここはこの関数を使ってみようとか、この関数よりこっちの方がいいんじゃないかとか、いろいろ考えて表を作成するのはとても楽しいものです。

 次回は関数を理解する上での正規表現の解説となります!

 是非ともまたのお越しをお待ちしております!

次のレッスン→ #4 エクセル・スプレッドシート関数のお固い用語解説!



QooQ