富裕層・投資家の「今と先」を伝えるキュレーションサイト

【エクセル関数】「締め日から翌々月〇日」の計算に便利なEOMONTH関数

問題:請求元が個人の場合は翌月15日、法人の場合は翌々月15日という支払のルールがある場合を想定し、伝票処理日をもとに正しい支払日を関数で自動計算せよ。 難易度:☆☆☆★★ 実用度:☆☆☆☆★ 目標ステップ数:4 解答: 基準となる日付から、指定した月数後(または月数前)となる月末の日付は、EOMONTH(エンド・オブ・マンス)関数を使って計算することができる。今回の問題は、EOMONTH関数で求めた月末の日付に15を足すことで15日の支払日を計算している。また、法人と個人で支払日が変わるため、IF(イフ)関数を組み合わせて場合分けの処理を行った。では、標準解答の手順をみていこう。 ●STEP1 支払日を自動計算したいセル(ここではE2)を選択してから「数式バー」をクリック。半角で「=EO」と入力し、表示される候補から「EOMONTH」を選びクリック。 ●STEP2 「= EOMONTH (」と補完されるので、計算の基準となる日付が入力されたセル(ここではD2)をクリックし、半角のカンマ(,)を入力。続けて半角で「I」を入力し、関数の候補から「IF」をクリック。 ●STEP3 場合分けの基準となる「区分」のセル(ここではB2)をクリックし、さらに数式全体が「=EOMONTH(D2,IF(B2="法人",1,0))+15」となるように入力し、Enterキーを押す。 ●STEP4 これで、「伝票処理日」欄の日付を基準に、「区分」欄が法人の場合は翌々月の15日、個人の場合は翌月の15日の日付が表示される。 【今回のまとめ】 基準となる日付からX月後またはX月前となる月末の日付を求めるEOMONTH関数は、「=EOMONTH(基準となる日,月数)」という基本構文になる。今回の問題のように翌月15日の日付を求めたい場合は「=EOMONTH(E2,0)+15」、翌々月15日の場合は「=EOMONTH(E2,1)+15」というように、必要な日数をプラスすれば良い。伝票処理日の翌月15日ということは、0か月後(当月)プラス15日で翌月となる点に注意しよう。また、計算結果は日付を数字に変換した「シリアル値」となるため、セルの表示形式を「日付」にしておくことを忘れないように。 さらに今回の問題では、法人の場合は翌々月15日、個人の場合は翌月15日という場合分けを行っている。このような場合分けをする場合は、「IF(イフ)関数」という論理関数を使う。 IF関数の基本構文は「=IF(論理式,真の場合,偽の場合)」となる。今回使った「IF(B2="法人",1,0)」を例に、その仕組みを解説しよう。 まず、「論理式」には「B2="法人"」を指定している。これはセルB2の内容がイコール「法人」だったら、という意味だ。 「真の場合」には、論理式が成立している場合の計算結果を入れる。この場合、セルB2の内容が「法人」だった場合は「1」が計算結果となる。そして「偽の場合」には、論理式が成立していない、つまり「個人」だった場合の計算結果として「0」が入っている。 少しややこしいので、あらためて「IF(B2="法人",1,0)」を文章にしてみると「もし、セルB2の内容が法人だった場合は1を、そうでなかった場合は0を計算結果とする」ということになるわけだ。 ちなみに「論理式」には、関数を使った数式を入れることも可能。「真の場合」や「偽の場合」に別のIF関数を入れれば、2段階以上の場合分けもできるようになる。IF関数の使い方をマスターすれば、エクセルでできることの幅がグンと広がる。今回の問題を通じ、基本を覚えておくと良いだろう。