• ベストアンサー

エクセル IF関数で質問です。

エクセル IF関数で質問です。 教えてください。下記の式はどういう意味ですか? =IF(I38=0,"",SUM(C38:I38)/$B$38) なかなかIF関数が覚えられません。簡単に理解できる方法はありませんか? IFを入力するときにみなさんはどうイメージしてますか? アドバイスください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

>なかなかIF関数が覚えられません。 恐らく、IF 関数だけの問題ではありません。一つひとつの基礎知識の積み重ねです。この回答文を最後まで読んでみてください。 >簡単に理解できる方法はありませんか? 簡単な数式から超難解なものまで、様々なレベルがあります。お示しの数式は 2 つの関数を入れ子にしているので、最も単純な IF の使い方と比べれば、少しだけ難しくなっています。 >IFを入力するときにみなさんはどうイメージしてますか? パソコンに最初に触れた頃は、どうだったでしょうね。今となっては、無意識です。 たまに複雑な数式を入力するときは、括弧の数が分かりづらいとかで、迷うというか時間がかかることもなくはないですが。難しくしようと思えば、幾らでも難しくなります。 基本的に私の場合は、Excel の「数式パレット」(fx ボタン)は使わずに数式をタイプすることを人にお勧めしています。数式パレットでは、数式が複雑になるほど入力しづらく、数式そのものに関する理解も進みにくいと考えているからです。「数式バー」などに直接タイプして入力していても、ヒントが適当にポップアップしてきたりします。インターネット上には、関数についての無数の情報もあります。いきなり難しい数式はムリでしょうが、だんだん色々なものを覚えていけばよいでしょう。 1. セルに「数式」を入力するとき、先頭の「=」(今回の場合は IF の直前の「=」)は、「これから数式を記述しますよ」という Excel へのお知らせをしているのですが、それより後ろに「=」が出てくると、別な意味になります。「I38=0」のような等式あるいは不等式を「論理式」と呼んでいます。条件によっては、「I38>0」、「I38>=0」、「I38<0」、「I38<=0」、「I38<>0」が出てくることもあります。「>=」は「≧」の意味、「<>」は「≠」の意味です。 2. 論理式は、「論理値」を返します。Excel では「TRUE」、「FALSE」という 2 種類の論理値があります。I38 セルに 0 が入力されているか空白のとき、「I38=0」は TRUE に変化します。それ以外の場合は、FALSE になります。 3. 「"エクセル"」は、「エクセル」という「文字列」を数式中に混ぜるときの記述の仕方です。「""」は、「長さ 0 の文字列」です。これがセルに入力されていると、何も表示されないので見かけが空白のように見えます。私は空文字列と呼んでいることが多いのですが、最善の短い呼称は未だに分かりません。空白の文字列と言う人もいますが、厳密には空白ではないので、各種分析において「""」の存在がデメリットになるケースもあります。 4. 「C38:I38」は、「C38 セルを左上の頂点とし、I38 を右下の頂点とする長方形の『セル範囲』への『参照』」を意味する記号です。つまり C38~I38 という 1 行 7 列の範囲を参照します。 5. SUM は、合計する関数です。その「引数」(ひきすう)にセル参照を書くと、範囲内にある「数値」を全て合計します。上の範囲であれば、「C38 の値 + D38 の値 + … + I38 の値」という計算結果の値を返します。なお、(参照で登場する場合の)文字列は「0」として合計します。SUM に限ったことではありませんが、関数が返す値(SUM であれば合計)を数式の途中に引用する場合は、その直前に「=」を付けません。しかし IF などを絡めず単にセルに合計を表示させたい場合は、「=sum(c38:i38)」と入力します。大文字/小文字の別は、多くの場合、混ぜこぜに書いても大丈夫。 6. 「/」は、数学における分数であり、「÷」でもあります。Excel ではいつも「/」と書きます。「*」は、「×」(掛け算)の意味です。「10^6」は、「10 の 6 乗」の意味です。 7. 「$B$38」は「絶対参照」、「B38」だと「相対参照」です。この違いは、参照が使われている数式(ご質問の IF の数式など)が入力されているセルを別の場所にコピペしてみるとよく分かります。貼り付けたセルの数式を見ると、相対参照では、「B」という「列番号」と「38」という「行番号」が別のものに書き換わっています。別のものというのは、参照元と参照先の相対的な位置関係を保持した番号になるということ。つまり、2 行下で 3 列右などといった、元の位置関係のことです。絶対参照では番号が書き換わらず、「$B$38」のまま固定されています。「B$38」とすると「$38」の部分のみ固定、「$B38」とすると「$B」の部分のみ固定となり、残りは書き換わります。ですから「$」は、数式をコピーするときに必要となる記号と考えればよいでしょう。コピーの中には、「オートフィル」も含まれますね。ドラッグやダブルクリックで多数のセルを埋める、あの機能です。 8. IF は、二者択一の場合分けをする関数。第 1 引数が TRUE または非ゼロの数値であれば、第 2 引数を返します。第 1 引数が FALSE またはゼロという数値であれば、第 3 引数を返します。第 1 引数が文字列であれば、「#VALUE!」という「エラー値」を返します。 以下は、例を示します。各数式を Excel の数式バーに貼り付けるか、セルをダブルクリックして貼り付けて、結果を確かめてみてください。二つに一つの結果を選んでいるだけのことなので、実は簡単ですね? =if(false,"エクセル","ワード") =if(-1.2,"エクセル","ワード") =if(0,"エクセル","ワード") =if(,"エクセル","ワード")  ……「0」の省略 A1、B1 セルに入力されている値によって結果が変わる =if(a1-b1,"エクセル","ワード") =if(a1-b1>0,"エクセル","ワード") =if(a1-b1>0,12,-0.3) =if(a1-b1>0,a1-b1,a1) =if(a1-b1>0,sum(a1:b1),sum(a1:b1)^2) =a1+if(b1>0,b1,0)

その他の回答 (4)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

>簡単に理解できる方法 セルに実際に数式を記入し、そのセルで隣にあるfxボタンをクリックします 添付図のようにfxウィザードが起動し、今回の数式ならIFという関数のシクミの解説を見る事ができます ウィザードを実際に起動してみると、「論理式」「真の場合」「偽の場合」という3つの要素が必要であることが表示されています。ちなみに各欄にカーソルを入れてみると、ダイアログ中段には「その欄の使い方」の簡単な解説が表示されるので、そちらも参考にしてください。 正しい数式をお手本に(間違った数式はお手本になりません)ウィザードを確認してみると、どの部分が論理式になっているのか、真の場合はどの部分が動作するのか、偽の場合はどこが働くのか、数式の中身を噛み砕いて確認する事ができます。 正しいお手本の数式の動作がよく理解できないときは、たとえば別のセルに =SUM(C38:I38)/$B$38 という「偽の場合」の数式だけを切り出してみて、数式を砕きながら勉強してみるのも良い方法です。 >IFを入力するときにみなさんはどうイメージしてますか まっさらのセルで改めてfxボタンをクリック、ウィザードを起動します。「論理式」「真の場合」「偽の場合」の3つの欄がそれぞれ空白のダイアログが現れます。 あなたは今からそのセルで、IF関数を使って具体的に一体何をしたいのか「何がどうだったらどうなって欲しいのか」、よく考えながら各欄に記入したり作成して埋めていきます。

noname#204879
noname#204879
回答No.3

参考までに、 =IF(I38=0,"",SUM(C38:I38)/$B$38) という式は、下記の式でも同じ結果を呈します。 =IF(I38<>0,SUM(C38:I38)/$B$38,"") でも、此れはやや冗長で、私なら次式を採用します。 =IF(I38,SUM(C38:I38)/$B$38,"") →最初の式より2文字分短い (^_^)

回答No.2

私の場合は、昔のBASIC(Visual Basicではない)が最初に触れた プログラム言語だったので、 IF ~ THEN ~ ELSE ~ 文が思い浮かんでしまいます。 基本的な考えは、一緒ですね。

回答No.1

IF関数は、  IF( 条件式 , 正のとき , 偽のとき ) となっています。 =IF(I38=0,"",SUM(C38:I38)/$B$38) の例ですと、 I38が0 のときは "" つまり、空白を I38が0 でないときは、 SUM(C38:I38)/$B$38 を計算した結果を 式の結果として返します。

関連するQ&A