if関数は全ての基本。行っている方向けに、エクセルでの作業を劇的に速く、効率化する方法をお伝えします。Script(姉妹ブログ)MenuSidebarPrevNextSearchTwitterRSSFeedlyホーム>よくある質問(初級~中級)>エクセル全般if関数は全ての基本。sumif関数なんかよりずっと大事だよ。HatenaPocketif関数よくわからない、という意見が多いようです。この意見は、ある意味当たり前で、if関数は、(極端に言うと)なんでもできてしまう「超基礎的な」関数なので、固定的なイメージをつけようがないのです。わかりにくいと感じるのも、ある意味自然です。特定用途の便利な関数よりも、汎用の関数を覚えたら?if関数で他の関数を表現する今回は、if関数が「なんでもできる」ことを証明するために、「他の関数をif関数で表現」してみます。「どういう場面でif関数を使えばいいのか判断力を養う」(=if関数の応用力をつける)という意味では、今回のように、様々なことをif関数を使ってロジックを表現する練習は有用です。abs関数はif関数で表現できるまず、最初に典型的な例として、絶対値を取る関数である「abs関数」を考えてみたいと思います。abs関数は、どういう動きをするかというと、例えば、A1セルに数字が入っている場合に、(A1セルが)正の数か0のときは、そのままの値を返す(A1セルが)負の数のときは、その符号をプラスにした値を返すという動作をします。「if関数」を使うべき、お手本のような事例だ、ということがわかると思います。上のロジックをそのままif関数で置き換えると、=if(A1>=0,A1,-A1)となります。下記abs関数を使った計算式と同じ動作をすることになります。=abs(A1)min関数(最小値を選ぶ)はif関数で表現できる最小値を選ぶmin関数もif関数で書けます。2つの値(A1セルとB1セル)の最小値を求める場合、A1セル>B1セルならば、B1セルの値を返すA1セル≦B1セルならば、A1セルの値を返すというロジックで求められます。if関数で表現すれば、=if(A1>B1,B1,A1)となりますが、min関数を使った下記の表現と全く同じ意味になります。※実用性なし値が3つ以上の場合でも、if関数で表現はできますが、異常に面倒になるので、if関数を使って書く実益はないです(笑)。ロジックの勉強にはいいかな、とも思います。A1,B1,C1,D1の中で最小の値を取得するならば、=IF(A1>B1,IF(C1>D1,IF(B1>D1,D1,B1),IF(B1>C1,C1,B1)),IF(C1>D1,IF(A1>D1,D1,A1),IF(A1>C1,C1,A1)))で書けます(たぶん)。実用性はないですけど(笑)。いう式を書けるようになるとif関数を使いこなせてるといってもいいのかな、と思います。作業用セルを使ってもいいようであれば、もっともっと簡単に表現できます。腕に覚えのある方はチャレンジしてみてください。sumifs関数もif関数で表現できる実用性ある話に戻ると、sumifs関数も、作業用のセルが必要ですが、if関数を使って表現できます。A2~A100セルまでに「部署コード」B2~B100セルまでにそれぞれの部署に属する「売上高」が入っているとしましょう。「部署コード」が「5」の部門の売上高合計を知りたい、という場合。次のような数式を入れれば、合計を取ることができます。=sumifs($B$2:$B$100,$A$2:$A$100,5)これをif関数でやってみましょう。C2セルに=if(A2=5,B2,0)と入れた後、C2セルの内容をC3セル~C100セルまでコピー。部門コード5の行のC列には、B列の値がコピーされている部門コード5で「ない」行のC列には「0」が入力されている状態です。C2~C100セルまでには、部門コード5に属する売上高「だけ」が抽出されていることになります。どこかのセルに、=sum(C2:C100)といれれば、sumifs関数を使うのと、同じ結果が出てくるわけです。sumifs関数の弱点これだけの話なら、sumifs関数のほうが便利だから、if関数を使って表現する理由はないのですが。sumifs関数での集計には1つ弱点があります。それは、sumif関数では、あらかじめ想定されている「条件」しか指定できないということです。sumifs関数を使うと、あらかじめ想定された条件しか指定できないため、どうしても「or条件」などの指定しにくい「条件」が出てきてしまいます。そんなときに、if関数を使った表記法ができれば、すごーく楽なんです。if関数での「条件の指定」はかなり汎用的ですから、「ワークシート関数で表現できる条件」は、なんでも書けます。ダブルクォーテーションの中に、あらかじめ定められた条件しか書けないsumifsとは、自由度が全然違うんですね。C列を見れば、どの列が条件を満たしているのか一目瞭然(「0」になっていない行は、条件を満たしていることがわかる)なので、条件式の入力間違いに、気づく確率も高くなります。このように、条件が複雑になればなるほど、sumif関数よりもif関数を使う記述法のほうが「楽」になります。特定用途の便利な関数よりも、汎用の関数を覚えたら?ということで、今回の記事のまとめです。「なんにでも使える関数(ifとか)」を積極的に使っていったほうがいいんじゃないのかな?と思うわけです。sumifsを使うな、と言っているわけではなく。使える場面では積極的に使えばいいと思います。その一方で、常に、自分の手持ちの知識(知っている関数)で、どうにかできないかな?と考え続けることが大事なんじゃないか、と思うわけです。いう姿勢を貫いていると、応用力がついてきます。結果、一見遠回りに見えますが、最終的には、エクセルで、なんでもできるようになるんじゃないかな、、と思います。総収録時間162分)を無料プレゼント中です!このマニュアルで解説していることを一通り学べば、経理事務を行う上で最低限必要となる知識が得られます。名メールアドレス無料動画マニュアルを受け取る>※ご登録頂いたメールアドレスに、エクセルを使いこなすための情報を配信するメールセミナー「エクセル倍速講座」も合わせて配信させていただきます。...【保存版】これでif関数も怖くない!?if関数の使い方50選if関数は、様々な用途で使います。...エクセルif関数が理解できない2つの理由エクセルの「if関数」は使い手を選びます。...エクセルのor関数の使い方を図と例で理解するエクセルのor関数は、入力された論理式に応じて次のような値を返す関数です。