• ベストアンサー

エクセルの関数についてお教えください

一か月の賃料の日割りを計算したいのですが、例えば、7/10に契約した場合の賃料の日割り計算は、 10日から31日までの22日間になりますが、この22日間という日数をどのような関数を使えばよろしいですか? エクセルは素人です。どなたか分かり易くお教えください。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.5

>例えば、7/10に契約した場合の賃料の日割り計算は、10日から31日までの22日間になりますが、この22日間という日数をどのような関数を使えばよろしいですか? B2セルに契約日が入力されていると仮定すれば次の数式で良いでしょう。 =EOMONTH(B2,0)-B2+1 但し、EOMONTH関数はExcel 2007以降に組み込まれたもので2003以前のバージョンでは使えません。 EOMONTH(開始日,月数)と言う使い方で月数を0にすると開始日の月末になりますので、開始日を含める場合は1日加算します。 Excel 2003以前のバージョンでは次の数式にしてください。 =DATE(YEAR(B2),MONTH(B2)+1,1)-B2 計算結果が日付になったときは表示形式を「標準」にしてください。

その他の回答 (4)

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.4

複写して修正してませんでした。以下の箇所が訂正になります。 シリアル値とは1900年1月1日を1として1日毎にカウントした値ですので、 =DATE(2014,7,31) → 41851 =DATE(2014,7,10) → 41830 となり、41851 - 41830 + 1 で22となります。

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.3

単純にDATE関数の引き算で求まります。 =DATE(2014,7,31)-DATE(2014,7,10)+1 DATE関数は引数で年度、月、日を指定するとその、シリアル値を返す関数です。 シリアル1900年1月1日を1として1日毎にカウントした値ですので、 =DATE(2014,7,31) → 41851 =DATE(2014,7,31) → 41830 となり、41851 - 41830 + 1 で22となります。 ※ シリアル値がセルに入力されるとエクセルでは表示形式を「日付」にしてしまうので 上記式をセルに入力してシリアル値を確認するには=JIS(DATE(2014,7,31))のように JIS関数で囲い文字列に変換してください。 たとえば、 A1セル:2014 B1セル:7 C1セル:10 のように年、月、日がある場合、D1セルに「=DATE(A1,B1+1,1)-1-DATE(A1,B1,C1)+1」を入れれば その月の月末日を算出し、C1セルの日から月末までの日数が表示されます。 「DATE(A1,B1+1,1)-1」により2014年7月の翌月・・・8月の1日のシリアル値から1日を引くことで7月の末日を求めています。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

一か月の賃料を100000円として、A1セルに以下の式を入れます。 7月等は31日間ですので、 =22/31*100000 6月等は30日間ですので、 =22/30*10000 2月の閏年以外は28日間ですので、 =22/28*10000 2月は閏年は29日間ですので、 =22/29*10000

noname#202764
noname#202764
回答No.1

22日間のうち、就業日が何日あるかを出すのがNETWORKDAYS関数です。 http://www.kenzo30.com/ex_kisotyu/ex_ks_tyukyu9_9_3.htm 休み無しなら =(31-10)+1 で求まります。 関数を使うなら =(今月末の日付を求める-今日の日付を求める)+1 =(EOMONTH(TODAY(),0)-Today())+1 ですか。