Excelの条件式、" "が必要? いらない? こんなふうに見分けてください

Excelのダブルクオーテーション Excel(エクセル)
Excel(エクセル)MOS資格対策
スポンサーリンク/Sponsored Link

Excelで、IF関数やSUMIF, COUNTIF, AVERAGEIF 関数を使うとき、条件式に「” “」(ダブルクォーテーション)が必要な時がありますね。

=IF(A2>150,“〇”,“×”)
(A2セルが150より大きければ〇、150以下なら×)

=IF(A2>0,1,0)
(A2セルが0より大きければ1 そうでなければ0)

=COUNTIF(A:A,0)
(A列にある0の個数を数える)

=COUNTIF(A:A,“>=50”)
(A列にある50以上の数値を数える

こうしてみると、” ” が、必要な時と、いらない時に分かれているのが分かります。

どんな時、” “がいるのか? いらないのか?

それがどうしても分からない時がありますね。この記事は、そんな方にお読みいただきたい記事です。

スポンサーリンク/Sponsored Link

IF関数の場合

” “の必要/不必要を判断する場合、まずは大きく2つに分かれます。

  • IF関数の場合
  • COUNTIF, SUMIF, AVERAGEIF関数の場合

まずは、IF関数の場合を見ていきます。

IF関数の第1引数(論理式)

IF関数の第一引数は、論理式です。

  1. A2>0
  2. A2=500
  3. A2=”500″
  4. A2=”出荷済”

ルールはこんな感じです。

  • 論理式全体をくくる” “は、絶対にいらない。(“A2>0″のようなことは絶対にない)
  • 数字には、文字列として扱いたいときだけ” “をつける(上の例の3. のような場合)
  • 数字以外の文字列には、必ず” “が必要

※「文字列として扱いたい」とは、例えばTシャツのメーカーさんのExcelだと考えたら
 500という数字を、Tシャツ500枚とか、一枚500円の意味ではなく、Tシャツの絵柄指定として「500」という文字をプリントしたい! という時の話だとお考えください。

IF関数の第2、第3引数(真の場合・偽の場合)

IF関数の第2、第3引数は、それぞれ、真の場合、偽の場合の値を示します。

  1. =IF(A2>0,1,”なし”)
  2. =IF(A2>0,”1″,”なし”)
  3. =IF(A2>0,”あり”,”なし”)

ここのルールは簡単です。

  • 数字には、文字列として扱いたいときだけ” “をつける(上の例の2. のような場合)
  • 数字以外の文字列には、必ず” “が必要
スポンサーリンク/Sponsored Link

COUNTIF,SUMIF,AVERAGEIF関数の場合

やっかいなのは、COUNTIF,SUMIF,AVERAGEIF関数の場合です。

教室では俗に「なんちゃらIF関数」といって、ひとくくりに説明しています。

第1引数の検索範囲は、セル範囲を指定するだけですので、” “はいらないですね。

問題は第2引数です。

第2引数(検索条件)はどんなときに” “がつくか

<, >, =があって、その片方になにもない時は” “が必要

まずはこの2つの例を見てみましょう。

  • =COUNTIF(A:A,0) (A列から0に等しいものを数える)
  • =COUNTIF(A:A,”=0″) (同上)

ふたつの数式はまったく同じ意味なのですが、” “があり、なしの違いがあります。それは、こんなルールになっています。

  • =, <, > の記号があって、記号の左右両方がそろっていない時は ” ” が必要

「ゼロに等しい」という場合、=0  と書きますので、”=0″ としなければなりません。

ですが、「 <, >がなく、=だけなら省略できる」というルールのため、”0″  という表記ができ、記号がひとつもなくなりますから、” ” なしでもいい

ということになります。

数値でなく文字列には” “が必要、ただし前のルールで” “がある場合は二重につける必要なし

次に、文字列をかぞえる場合です。

  • =COUNTIF(A;A,”合格”)  (A列から「合格」という文字列を数える)
  • =COUNTIF(A:A,”=合格”) (同上)

さきほどのIF関数のときと同様に、文字列には” “が必要です。

ただし、IF関数と違うのは、

「<. >, =の左右両方がそろっていない」というルールですでに” “があるときは、中身にまで二重に” “をつける必要はない

ということです。

以上のルールのおさらい

ややこしいですが、おさらいしてみましょう。

  • =COUNTIF(A:A,500)  (記号がひとつもないので” “はいらない)
  • =COUNTIF(A:A,”>500″) (「>」があって、左側になにもないので” “が必要)
  • =COUNTIF(A:A,”>=500″) (「>=」があって、左側になにもないので” “が必要)
  • =COUNTIF(A:A,”〇”) (「〇」は数字ではないから” “が必要)
  • =COUNTIF(A:A,”>A”) (「>」があって、左側になにもないから” “が必要)
  • =IF(A2>0,”〇”,”×”)  (「A2>0」は、記号の両側がそろっているから” “はいらない。 「〇」と「×」は、数値ではないから” “が必要)
スポンサーリンク/Sponsored Link

分かりにくい時、Excel自身に確認させる方法があります!

以上、” “が必要な場合、いらない場合のルールをまとめましたが、

「そんなこと言われてもパッと分からない」

という感じがする方も、多いと思います。

そんな時、とっておきの判別方法があるんです。

「=」をつけてセルに入れた時、エラーが出るときは” ” が必要

という、判別方法です。

たとえば、

A2>0

と書きたいとき、” “が必要かどうか、手元のExcelで、適当な空白セルに、次のように書いてみます。

頭に「=」をつけて、空白セルに入力

結果は次のようになります。

このように、「TRUE」または「FALSE」と答えが出る場合は、” “は、いりません。

このようにして、ここまでの記事で出てきたものを確認してみます。

  • A2=500
  • A2=出荷済
  • なし
  • 0
  • =合格
  • >=500
  • >A

それぞれ、確認のため、適当な空白セルに次のように入力します。

  • =A2=500
  • =A2=出荷済
  • =なし
  • =0
  • =合格
  • =>=500
  • =>A

確認の結果は次の通りです。

赤い背景のところは” “が必要なもの。それぞれエラーが出ています。

このようにして、エラーが出るか出ないかで、” “の必要性が判別できます。

より深い話……矛盾に満ちたExcelの文法

いまの判別法について、少し深いおはなしをします。

「=」を頭につけてセルに入力して、エラーが出ないということは、Excelの数式として文法に合っている、ということを示しています。

ということは、” “をつけないで数式内に書いても大丈夫、ということです。

反対に、「=」を頭につけてセルに入力して、エラーが出る、ということは、Excelの数式として文法に合っていない、ということです。

それなのに、IF関数や、またとりわけCOUNTIF,SUMIF,AVERAGEIF関数を書くにあたっては、

Excelの文法に合わないものを、
無理に引数として書いて、
Excelに渡す必要がある、という、
矛盾したルールになっている

ということなのです。

このために、” “でくくって、「文字列としてExcelに渡す」ということをするのです。

これはつまり、

「”  “でくくって文字列にしたのだから、とりあえず文法に合わないかもしれないけど、エラーとか出さずに一旦うけとってちょうだいよ!  関数に渡したら、関数のほうでは意味が分かるはずだから!」

という意味の、” ” なのだ、ということなのです。

IFはこう書く、COUNTIFはこう書く、それがルールなんです、とだけ習うと、なんだか頭がごっちゃになってくることがあります。

そんな時は、むしろ、このように考えて、「仕方なく” “でくくっているのだ」と理解すると、もしかしたらスッキリするかもしれません。

パソコン教室・キュリオステーション志木店からのお知らせ
レッスンはオンラインで受講できます

パソコン教室・キュリオステーション志木店では、本年よりオンラインでの在宅レッスンを実施しております。
教室の全コースがオンラインで受講可能。実際にインストラクターがご対応いたします。
1時間の無料体験レッスンはいつでも予約できます。詳しくは公式ページをご覧ください。

スポンサーリンク/Sponsored Link
キュリオステーション志木店運営をフォローする

コメント

タイトルとURLをコピーしました