Home > Excel エクセルの使い方-関数/計算式-論理・情報
Excel エクセルの使い方-関数/計算式-論理・情報
「エクセル 3つのセルの値が同じかどうか調べたい」
という検索が行われていました。
Excelで3つのセルのデータが等しいかどうかを調べる方法を探している方による検索です。
2つのセルの値が等しいかどうかを調べるのなら比較演算子「=」を使えばOKです。
例えば、A2セルとA3セルの値が等しいかどうか調べるのなら「=A2=A3」という数式でOKです。
「エクセル 計算結果が負の数だったら空白」
「エクセルで計算結果がマイナスの時表示しない方法」
といった検索が行われていることがあります。
Excelで計算を行った結果が、マイナスの値・負の数値だったら何も表示しない、空白を表示する方法を探している方による検索です。
こういった検索を見るたびに
「こういう検索をする方が、計算結果というキーワードを入れないようにしてあげるには、どうすればいいのだろう?」
といったことを考えてしまいます。
ネットの向こう側にいる方に、私のこの思いを伝えることはなかなか容易ではありませんが、とりあえず、「マイナスのときに値を表示しない方法」「計算結果が負の値のときには値を表示しない方法」を、ご紹介しておきます。
このサイト・インストラクターのネタ帳で
「エクセル 等しいかどうかを調べる 関数」
といった検索が行われていることがあります。
2つの値があるときに、それらの値が等しいかどうかを調べる方法を探している方による検索です。
このサイトでは、Excelについて何かを調べるときに、
「関数」
という単語を追加しないほうがいいということを、何度かお伝えしています。
シリアル値を判別して、平成の日付だけを表示する方法をご紹介しました。
この数式を作成するには、平成が1989年の1月何日からなのかを知っておく必要があります。
1989年の1週間くらい昭和があってから平成になった、ということはなんとなくわかっていても、具体的に1月の何日から平成になったのかは、調べないとわからないという方は少なくないでしょう。(実際、私は先のネタを書く際に、平成が1989年の1月何日からだったかを調べました。)
Excelを使いこなす上で、シリアル値を判別して平成の日付のみを表示できるということは、もちろん知っておいていただきたいですが、別の方法もご紹介しておきます。
このサイト・インストラクターのネタ帳で
「エクセル 平成の日付のみ表示する方法」
という検索が行われていました。
複数の日付データが存在しているときに、平成の日付だけを表示する方法を探している方による検索です。
[セルの書式設定]ダイアログ−[表示形式]タブで、「#;!0;0」「#;"0";0」といった指定をすれば、マイナスの数値・負の数値を「0」(ゼロ)と表示できることをご紹介しました。
「マイナスの値を0と表示するには?」
「値がマイナスのときに0と表示させるには?」
といったご質問に対する解決策としてご紹介したわけですが、このご質問は要注意でもあります。
本当に、マイナスの数値を「0」と表示させるだけならば、セルの書式設定でマイナスを「0」と表示させればOKです。
しかし、このマイナスの数値を「0」と表示させた結果を、更に何らかの計算に利用したいのならば、[セルの書式設定]で対応するのではダメです。
「#;!0;0」という書式では、見た目はマイナスの数値が「0」になっていますが、実際のデータとしてはマイナスの数値のままだからです。
このサイト・インストラクターのネタ帳で、同じIPアドレスから連続して
「#DIV/0!エラー」
「エクセル 0以外のときのみ除算」
といった検索が行われているのに気づきました。
まだExcelをバリバリ使いこなしている、とはいえないレベルの方なのだとは思いますが、この検索を行うまで自力で辿り着けたということは、きっとすぐにExcelを使いこなせるようになれる方なんじゃないかと思える検索です。
Excelでは「0」(ゼロ)で除算・割り算をすると#DIV/0!エラーとなります。
先の検索をした方は、#DIV/0!エラーが「0」で割り算したときに出るエラーだということに気づき、「0」でないときだけ割り算をすれば#DIV/0!エラーは出なくなるだろうということにまで辿り着いたのだと思えます。
#DIV/0!エラーが表示されるという問題が発生して、その原因が「0」による除算であることを推測し、その解決策として「0」でないときだけ除算すればいいということに気づけたということは、素晴らしいことだと感じます。
「#;;0」「#,###;;0」といったユーザー定義書式を設定することで、マイナスの値を表示させないようにできることをご紹介しました。
このサイトで、
「エクセルでマイナスの数値を表示しない関数は?」
といった検索が行われていることもあります。
セルの書式設定でマイナスの値を表示しないようにするのではなく、関数でマイナスのときに表示させないようにする方法を探している方の検索です。
何らかの条件によって、出力する結果を変えるにはIF関数を使えばOKです。
IF関数についてこのサイトで検索が行われるのを見かけることは少なくありません。
「エクセル IF関数 数値 以外 空白」
「IF関数で数字以外なら空白を表示したい」
といった検索を見かけることがあります。
Excelを、表を作るためのソフトではなく、表計算ソフトとして使えるようになるためにはいくつかハードルがあります。
IF関数を使えるようになることは、絶対参照と相対参照を理解していることとあわせて、非常に重要なハードルだと私は考えています。
絶対参照と相対参照が理解できていなければ、表計算の便利な部分を享受できなくなってしまいます。
IF関数が理解できていなければ、条件によって表示や計算を切り換えるといったことができません。
そんなIF関数の第1引数・論理式にどのような式を入力すればいいのかは、Excel初心者の方の多くがつまづくポイントでもあります。
突然ですが、「スタバ」こと
「スターバックスコーヒー」
を英語で間違わずにすぐ書けますか?
私はつい
「Starbacks Coffee」
とやってしまいます。
正しくは
「Starbucks Coffee」
です。
違いは「スタバ」の「バ」の部分です。
「Starbacks」ではなく
「Starbucks」です。
「b」の後ろの6文字目は、「a」ではなく「u」が正解です。
自分でこのミスをやってしまうたびに、多くの日本人に「ア」=「a」が染み込んでいるであろうことを思い出します。
このサイトの検索を見ていても同様の間違いを見かけることがあります。
「ISNAMBER関数」
という検索をみかけることがあるのです。
給与所得の計算についてご紹介してきました。
ここまでの工程で給与所得が計算できましたが、この給与所得にいきなり税金がかかるわけではありません。
所得税は、所得額から所得控除をマイナスした額に対して課税されます。
ですから、所得額計算の次は、所得控除額の計算を行う必要があります。実際の源泉徴収票でいうなら「所得控除の額の合計額」の計算をしなければなりません。
所得控除には以下のような14種類があります。
- 配偶者控除
- 配偶者特別控除
- 扶養控除
- 勤労学生控除
- 寡婦・寡夫控除
- 障害者控除
- 基礎控除
- 社会保険料控除
- 生命保険料控除
- 地震保険料控除
- 小規模企業共済等掛金控除
- 医療費控除
- 雑損控除
- 寄付金控除
今回はこのうち配偶者控除額の計算をご紹介します。
考え方としては、配偶者が働いていないときには所得から控除してあげようというもので、配偶者が専業主婦・専業主夫の方にとって、おいしい控除です。
ちなみに、、民主党の中には子ども手当(児童手当)の支給など子育て支援策を充実するかわりに、配偶者控除をなくそうという考えの方もいらっしゃるようです。
(私個人は、民主党の政策すべてに賛成というわけでは決してありませんが、複雑すぎる所得税制度をシンプルにするため、働く意思を少しでも妨げる要因を排除するという点から、子育て支援策と引き換えに配偶者控除を廃止するのは悪くないと考えています。)
配偶者控除額は、
- 配偶者の合計所得金額が38万円以下の場合に38万円
- 配偶者の合計所得金額が38万円以下で、なおかつ配偶者が12月31日現在70歳以上のときには48万円
です。
経理関係のお仕事をしている方から
「年末調整関連の書類をエクセルで作れないでしょうか?」
といったご質問をいただくことがあります。
このサイトで
「年末調整 エクセル」
「源泉徴収票 エクセル」
といった検索が行われていることもあります。
税金の計算はちゃんと計算ルールがありますから、その計算ルールをExcelに落とし込めば、もちろんExcelで税金関連の計算をしたり、年末調整関連の書類作成は可能です。
年末調整関連の計算は、大きく分類すると以下のような手順で行います。
- 給与所得の計算
- 人的控除額の計算と減額
- 物的控除額の計算と減額
- 税額の計算
このうち今回は最初の工程「給与所得の計算」の一部「年調給与額の計算」をご紹介します。
実際の源泉徴収票でいうなら、「支払金額」から「給与所得控除後の金額」を計算する工程の一部です。
まず、
所得税は、収入(売上)に対して課せられる税金ではなく、収入から経費をマイナスした所得(利益)に対して課せられるものです。
会社員の方などの収入(売上)に該当するのが額面の給与(いわゆる税込年収)で、経費に該当するのが「給与所得控除額」、利益に該当するのが「給与所得」です。
給与所得は額面給与から給与所得控除額をマイナスすればいいのですが、コンピュータで計算するためにはちょっとした調整が必要です。これが「年調給与額の計算」です。
国税庁で配布されている「年末調整のしかた」というパンフレットの、P.64「電子計算機等による年末調整」の「1給与所得控除後の給与等の金額の計算」の「(1)年調給与額の算出」の表を、Excelの計算式にします。
何をやっている計算かというと、「所得税法別表第五 年末調整等のための給与所得控除後の給与等の金額の表」(給与所得控除後の金額の算出表)を使った計算と、誤差が生じないようにするための計算です。
給与所得の計算は法令上、所得税法別表第五により給与所得の金額を求めることになっていて「給与所得控除後の金額の算出表」を使って計算するのですが、その算出表の中で161万9,000円以上660万円未満の部分は、1,000円・2,000円・4,000円刻みで作成されています。
そのために、給与の総額をそのまま給与所得控除額を計算する数式に入力すると、算出表から給与所得控除後の給与等を求めたときとで誤差が生じてしまいます。
このサイトで、
「ISERROR関数 VLOOKUP関数 #N/Aエラー 表示させない」
「IF ISERROR VLOOKUP 例」
といった検索が行われていることがあります。
これまで、IF関数でVLOOKUP関数の第1引数未入力時の#N/Aエラー回避と、参照する表にない第1引数が指定されたときの#N/Aエラー回避を入力規則を使って行う方法を、ご紹介してきました。
また、ISERROR関数によるエラー回避のもっともシンプルな例もご紹介しています。
「IF関数で複数の条件を指定したいのですが...?」
というご質問に対する回答として、IF関数で複数の分岐を行う方法と、かつ条件・AND条件についてご紹介しました。
今回は、または条件(OR条件)についてご紹介します。
「IF関数で複数の条件を指定したいのですが...?」
「IF関数で複数条件指定するにはどうしたらいいのでしょう?」
といったご質問に対する回答として、IF関数で複数の分岐を行う方法についてご紹介しました。
今回は、複数分岐ではなく、複数条件についてご紹介します。
複数条件には、
かつ条件(AND条件)
または条件(OR条件)
の2種類が存在しますが、まずはAND条件から。
わかりやすいのは、試験の合否を判定するような例でしょう。
IF関数・MOD関数・ROW関数を使って一行おきの合計を計算する方法をご紹介しました。
一行おきに合計するために、MOD関数を使って2で割ったあまりを求めて、その行が偶数行目か奇数行目かを判別するという方法でした。
Excelをお使いの方から、
「このダイヤマークは何ですか?」
「大なり小なりマークが向き合ってるのはどういう意味ですか?」
「<>とはどういう意味ですか?」
といったご質問いただくことがあります。
このサイトで
「<> 意味」
といった検索が行われていることもあります。
Excelの数式で
「=IF(A1<>"",」
といった記述を見かけることがあります。
この「<>」がどういう意味なのかというご質問です。
IF関数に慣れていない方がついやってしまいがちなミスとして、不完全な論理式を立ててしまうことをご紹介しました。
他にもやってしまいがちなことはいろいろとあります。
MOD関数を使って、2で割った余りから奇数・偶数判定をできることをご紹介しました。
奇数・偶数の判定を行う場合、多くの方は2で割った余りを調べる方法を利用していらっしゃると思うのですが、実はExcelには奇数・偶数判定を行う専用のワークシート関数が用意されています。(かく言う私も、Excelを使い始めて長らく、こんな関数が用意されていることを知りませんでした。)
このサイトでは、以下のようにVLOOKUP関数について何度かご紹介してきましたが、
VLOOKUP関数を実務で使おうとしている方から、とてもよくいただく質問があります。
「VLOOKUP関数を使ったら#N/Aと表示されるのですが...?」
「VLOOKUP関数の入力されているセルに#N/Aエラーが表示されたのですが、どうすればいいのでしょうか?」
といったご質問です。
Excelのセル参照に関してよくいただく質問があります。
参照しているセルが空っぽのときに「0」と表示されないようにしたいのですが?
というご質問です。
B1セルに「=A1」という参照式が入力されているとき、A1セルに例えば「ABC」「1000」といった値が入っていれば、B1セルにも同じ値が表示されますが、A1セルに何も入力されていないときは「0」と表示されてしまいます。
これを「0」が表示されないようにできないのか?
というご質問です。
先日AND関数・OR関数についてご紹介した中で、
「Excelのワークシート上では、論理演算も基本的に関数を使って行うようになっています。」
という記述をしました。
確かにExcelで論理演算は基本的には関数で行うのですが、演算子を使って論理演算を行うこともできます。
プログラマーやSEの方から割り算で余りを求める方法について、質問をいただくことをご紹介しました。
同じようなことで、
IF関数の論理式でAnd条件やOr条件を指定するにはどうすればいいのか?
というご質問をいただくこともあります。
Excleで数式・関数を使えるようになった方からよくいただく質問に、「エラーを表示させないようにするにはどうすればいいのか」というものがあります。
C1セルに「=A1/B1」という数式が入力されていて、B1セルが「0」だったりすると、「#DIV/0!」というエラー表示になってしまいます。あるいはA1セルやB1セルに文字列が入力されれば「#VALUE!」エラーとなります。これを表示させないようにするにはどうすればいいのかという質問です。
あるいはVLOOKUP関数を覚えた方から、事前に該当セルにVLOOKUP関数を入力して、第1引数の検索値が入力されていない状態で「#N/A!」エラーが表示されるのを防ぐにはどうすればいいのか、という質問をいただくことも多いです。
Home > Excel エクセルの使い方-関数/計算式-論理・情報

