Excelには、
- 数式内に文字を設定する場合には、その文字の前後をダブルクォーテーションで囲む
- 数式内の記号や数字は半角で入力する
というお約束があります。
これはもう絶対のお作法なので、しのごの言わずに覚えなければなりません。
でも、中には「そんなこと今まで気にしたことなかったけど設定できたよ」という方もいらっしゃるかもしれません。
今回は、これらお作法のうちの
- 数式内に文字を設定する場合には、その文字の前後をダブルクォーテーションで囲む
について、それがどんなもので、どうして覚えなければいけないかを、ご説明していきます!
【 目次 】
スポンサーリンク
文字の前後をダブルクォーテーションで囲む
この表のB列「支払い方法」欄には、受注した各注文の支払い方法が入力されています。
この会社では、受注後は即配送が基本ですが、支払い方法が「銀行振込」だった場合には、振込を確認した後で配送することにしていたとします。
そこで、C列の「配送」欄に、
もし「支払い方法が銀行振込」だったら「振込確認後配送」、そうじゃなければ「即配送」
と、条件に合っている場合と合っていない場合とで、表示されるものが切り替わるように設定してみます。
条件に合っているかどうかで、表示されるものが切り替わるようにしたいときに使うのがIF関数。
これをC2番地に設定する場合、C2番地に「振込確認後配送」「即配送」のどちらを表示させるかは、支払い方法のB2番地に何と入力されているかで決まります。
というわけで、C2番地に設定する内容は、
もし「B2番地が銀行振込」だったら「振込確認後配送」、そうじゃなければ「即配送」
となります。
それではこの内容のIF関数を、C2番地に設定していきましょう。
C2番地を選択し、[関数の挿入]ボタンをクリック。
「IF」を選択し、[OK]ボタンをクリックします。
最初の[論理式]に設定するのは、「(もし)○○が××だったら」という条件部分。
今回の条件「(もし)B2番地が銀行振込だったら」は、「(もし)B2番地のデータが、「銀行振込」という文字と同じだったら」ということなので、
B2=銀行振込
とすれば良さそうですが、数式内に文字を設定する場合には、その文字の前後をダブルクォーテーションで囲むのがお作法です。
しかも、ダブルクォーテーションは記号ですから、数式内の記号や数字は半角で入力するというお作法にものっとって、
B2="銀行振込"
と、「銀行振込」という文字の前後を半角ダブルクォーテーションで囲んで設定しなければなりません。
ちなみに、「 = 」(イコール)とダブルクォーテーションは記号なので、半角で入力するためには日本語入力OFFの状態で入力します。
また、ダブルクォーテーションは、[Shift]キーを押したまま、図のキーを押すと入力できます。
今回のように「 "銀行振込" 」と入力したい場合、
入力の仕方は様々ですが、私が入力する場合をご紹介しておくと、まずは半角で入力するために日本語入力OFFの状態で、最初と最後のダブルクォーテーションを2つとも入力してしまいます。
続いて、キーボードの[←]キーで、
文字カーソルを、2つのダブルクォーテーションの間に動かし、
日本語入力をONにして、残りの文字を入力しています。
もちろん、最初のダブルクォーテーションを入力、文字を入力、最後のダブルクォーテーションを入力、という風に順番に入力していっても構いません。
スポンサーリンク
ダブルクォーテーションを入力しなくても、Excelが修正してくれる?
次は[真の場合]。
ここには、[論理式]で設定した条件に該当していた場合にどうしたいかを設定します。
今回は条件に該当していた場合には「振込確認後配送」と表示させたいので、文字の前後をダブルクォーテーションで囲む、数式内の記号や数字は半角で入力するというお作法にのっとり、
条件に合っていた場合に表示させたい文字の前後を半角ダブルクォーテーションで囲んだ、「 "振込確認後配送" 」と設定するのが正解です。
ですが、Excelさんたらすごく優秀でして。
ダブルクォーテーションで囲まずに、文字だけ設定しても、
次の欄に文字カーソルを動かした瞬間、自動的にダブルクォーテーションを補完してくれるんです。
[偽の場合]もそう。
ここには、[論理式]で設定した条件に当てはまらなかった場合にどうしたいかを設定するので、
条件に当てはまらなかった場合に表示させたい文字の前後を半角ダブルクォーテーションで囲んだ、「 "即配送" 」と設定するのが正解です。
でも、ダブルクォーテーションで囲まずに、文字だけを設定。
先ほどの[真の場合]の時と同様、次の欄に文字カーソルを動かせば、自動的にダブルクォーテーションを補完してくれるのですが、[偽の場合]には、もう次の欄はないので、
ダイアログボックス右下の[OK]ボタンを押すと、
その瞬間、Excelさんが自動的にダブルクォーテーションを補完してくれます。
その証拠に、IF関数を設定したC2番地を選択して数式バーを見ると、その数式の内容を確認できるわけですが、[偽の場合]のところにも自動的にダブルクォーテーションが付いたことが分かります。
スポンサーリンク
じゃぁダブルクォーテーションについては覚えなくていいの?
先ほどのように、ダブルクォーテーションを入力しなくても、Excelさんが自動的に補完してくれるので、文字の前後をダブルクォーテーションで囲むというお作法は覚えなくてもいいの?となりそうですが、ふっふっふっ、そうは問屋はおろしませんぞ。
ここで、先ほどの数式に手を加えてみることにしましょう。
IF関数を設定したC2番地が選択されている状態で、再び[関数の挿入]ボタンをクリックします。
このC2番地には、既にIF関数が設定されているので、先ほど設定したばかりの内容がダイアログボックスに表示されます。
たった今、見ていただいたとおり、[真の場合][偽の場合]では、ダブルクォーテーションを設定しなくとも、Excelさんが自動的に補完してくれたわけですが、[論理式]の場合はどうでしょう?
このページの最初で[論理式]を設定した際は、自分でちゃんとダブルクォーテーションを入力していました。
ここで試しに[論理式]の部分に設定したダブルクォーテーションを消してみましょう。
消し方は簡単。
消したい文字のところでクリックして文字カーソルを入れたら、キーボードの[BackSpace]キーや[Delete]キーを使って消すだけです。
[論理式]にある、文字の前後を囲んだダブルクォーテーションを2つとも消したら、ダイアログボックス右下の[OK]ボタンをクリックすると、
はい、エラー!
この「#NAME?」というエラーは、関数や範囲の名前が間違っているなど、数式中にExcelさんが理解できない名前がある場合に表示されるエラーです。
ダブルクォーテーションを設定しなかったので、Excelさんは「何これ?理解できないから処理できないんですけど(イラッ)。」と、エラーを出してきたわけです。
このように、Excelさんのダブルクォーテーションの自動補完は万能ではありません。
だからこそ、文字の前後をダブルクォーテーションで囲むというお作法は、絶対に覚えなければいけないんです。
ちなみに、初心者の方には自動補完に頼らず、[論理式]だろうが[真の場合][偽の場合]だろうが、自分でダブルクォーテーションを入力して設定することをおすすめします。
なぜなら、
- 数式内に文字を設定する場合には、その文字の前後をダブルクォーテーションで囲む
ということを常に自分で操作していれば、先ほどのようなエラーにぶち当たることは無いからです。
このお作法が体に染みついてもう離れない!となった時に初めて、[真の場合][偽の場合]はExcelさんが補完してくれるけど、[論理式]は自分で設定しないとダメということを、テクニックとして覚えればいいわけです。
でも、最初から、[真の場合][偽の場合]はExcelさんが補完してくれるけど、[論理式]は自分で設定しないとダメ、のように覚えてしまうと、覚えることが多くなってしまいます。
初心者の方にとっては、そんなことを覚えるくらいなら、もっと覚えるべきことが山ほどあるので、最初は「これさえ覚えればすべてに通じる」ということを優先して覚える方が絶対におすすめです。
だからこそ、文字の前後をダブルクォーテーションで囲むが体に染みつくまで、自分で入力するクセを付けましょう。
では、エラーが出たままなのもスッキリしないので、消してしまったダブルクォーテーションを再度入力し、正しい数式になるように修正しましょう。
エラーが出ているC2番地が選択されている状態で、再び[関数の挿入]ボタンをクリックします。
表示されたダイアログボックスの[論理式]欄で、ダブルクォーテーションを入力したいところでクリックすると文字カーソルが入るので、半角ダブルクォーテーションを入力します。
文字の前後を半角ダブルクォーテーションで囲んだら、ダイアログボックス右下の[OK]ボタンをクリックします。
正しい数式に修正したので、エラーが消え、IF関数の処理がちゃんと行われるようになりました。
スポンサーリンク
空白(空欄)を表すダブルクォーテーションはExcelさんが補完してくれるの?
現在、C2番地には、
もし「支払い方法が銀行振込」だったら「振込確認後配送」、そうじゃなければ「即配送」
というIF関数が設定されています。
ここで、この数式を、
もし「支払い方法が銀行振込」だったら「振込確認後配送」、そうじゃなければ空白
となるよう、数式を変更してみることにしましょう。
IF関数を設定したC2番地が選択されている状態で、[関数の挿入]ボタンをクリックします。
「そうじゃなければ空白」にしたいということは、[偽の場合]で空白となるように設定すれば良いことになります。
「IF関数で使う「空白」代表的パターンを制覇!」でご紹介しているとおり、半角ダブルクォーテーションを2つ入力することで、空白(空欄)を表現できるので、図のように設定すれば良いことになります。
でもここで、こんなことを思い付く方もいらっしゃるかもしれません。
文字の前後をダブルクォーテーションで囲むが体に染みつくまで、[論理式]だろうが[真の場合][偽の場合]だろうが、自分で入力するクセを付けていただくことは大前提とはするものの、[真の場合][偽の場合]は、ダブルクォーテーションの入力を忘れてしまっても、Excelさんが補完してくれることをご紹介しました。
ということは、今回のように[偽の場合]を空白となるよう設定したいとき、空白(空欄)を表す半角ダブルクォーテーションを2つ入力しなくても、Excelさんが補完してくれるのでは?と。
それでは補完してくれるかどうか、実際に試してみましょう。
[偽の場合]に入力されているものをすべて消し、[偽の場合]が何も入力されていない状態で[OK]ボタンをクリックすると、
なぜか「FALSE」という回答が表示されました!
Excelでは、さまざまな場面で「TRUE」や「FALSE」という言葉が出てくるのですが、「TRUE」は「そうだよ」、「FALSE」は「そうじゃないよ」と言い換えると分かりやすいです。
今回設定したIF関数では「B2番地が銀行振込なのかどうか」と聞いていて、そうじゃなかった場合を指定する[偽の場合]に何も指定していなかったため、仕方がないのでExcelさんの言葉で「そうじゃないよ」の、「FALSE」と表示してくれたというわけです。
さすがのExcelさんだって、私たちが分かるような日本語を自動で考えて補完するとか、そんな離れ業はしてくれません。
何も表示させたくないのなら、何も設定しないのではなく、何も表示させないという設定、つまり空白(空欄)にしてねという、半角ダブルクォーテーションを2つ、確実に入力しなければならないわけです。
(ちなみに、[真の場合]に何も設定しなかった場合で、条件に該当していた場合はTRUEとは表示されません。
これについては本題から外れるので、解説は省略します。)
「FALSE」ではさすがに分かりづらいので、「そうじゃなければ空白」となるよう、[偽の場合]を修正していきましょう。
「FALSE」となっているC2番地が選択されている状態で、再び[関数の挿入]ボタンをクリックします。
表示されたダイアログボックスの[偽の場合]欄で、空白(空欄)を表す半角ダブルクォーテーションを2つ入力し、[OK]ボタンをクリックします。
正しい数式に修正したので、エラーが消え、IF関数の処理がちゃんと行われるようになりました。
このC2番地は、IF関数で設定した条件に当てはまらなかったので、空白となっています。
最後に、残りのセルにも数式をコピーするため、オートフィルしておきます。
Excelさんは、ダブルクォーテーションを自動で補完してくれることがあるため、文字の前後をダブルクォーテーションで囲むというお作法をおろそかにしてしまいがちですが、今回ご紹介したように、補完は万能ではないので、特に初心者の方は、お作法が体に染みつくまで、自分で入力するクセを付けましょう!
- 数式内に文字を設定する場合には、その文字の前後をダブルクォーテーションで囲む
- 数式内の記号や数字は半角で入力する