- 締切済み
エクセルの関数について
エクセルで毎月1日から、日曜日を除いた月末までの経過日数を表示させたいのですが、うまくいきません・・・どなたか宜しくお願いします(>_<)
- みんなの回答 (6)
- 専門家の回答
こんにちは。これならいかがですか? 【例】 [A列]:日付 [B列]:1日~の日数 [C列]:月末までの日数 とします。 [A1]:2006/6/1 [B1]:=DAY(A1)+IF(WEEKDAY(A1)<WEEKDAY($A$1),INT(-DAY(A1)/7),-INT(DAY(A1)/7)) [C1]:=EOMONTH(A1,0)+1-A1-IF(EOMONTH(A1,0)+1-A1>WEEKDAY($A$1),INT((EOMONTH(A1,0)+1-A1)/7),0) [A2]:2006/6/2 [B2]:=DAY(A2)+IF(WEEKDAY(A2)<WEEKDAY($A$1),INT(-DAY(A2)/7),-INT(DAY(A2)/7)) [C2]:=EOMONTH(A2,0)+1-A2-IF(EOMONTH(A2,0)+1-A2>WEEKDAY($A$1),INT((EOMONTH(A2,0)+1-A2)/7),0) 日付は[=Today()]でもOKですが、当月1日の日付をいずかのセル(例ならA1セル)に設定してください 1日の曜日を基準に「月初から」「月末まで」の日曜日を除く日数を計算しています。
- imogasi
- ベストアンサー率27% (4737/17069)
その月の月日数をXとする。月末日の日。 その月の1日のWEEKDAY関数値を8から引いた値をYとする X-Yを4で割った整数+1が日曜日の数 これをyから引く。 (A1)2006/6/1 (B1)=DATE(YEAR(A1),MONTH(A1)+1,0) 2006/6/30 (C1)=DAY(B1) 30 (A2)=WEEKDAY(A1) 5 (B2) =8-A2 3 (C2)=INT((C1-B2)/7)+1 4 (C3)=C1-C2 26 これ以上の簡単な式はないでしょうね。 式をネストして1つに組み立てる。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
A1のセルに月の1日の日付が入っているとして A2に =TODAY() と入っているとすると B2 =A2-$A$1+1-(INT((WEEKDAY($A$1)-1+A2-$A$1)/7)+IF(WEEKDAY($A$1)=1,1,0)) で本日までの日曜日を除いた日数がでると思います。 (※1日の経過日数は1にしてあります)
こんにちは。 >毎月1日から 例えば、A1セルに「2006/6/1」と入力してあるとして、 1ヶ月の日数「=EOMONTH(A1,0)+1-A1」 (当月末+1→翌月1日"2006/7/1(38899)"-"2006/6/1(38869)") 日曜日の日数「=IF(OR(WEEKDAY(A1)<2,WEEKDAY(A1)>6),5,4)」 (当月1日が何曜日だったかによって判定~日曜日="1"~) ひとつの式にまとめるなら 「=EOMONTH(A1,0)+1-A1-IF(OR(WEEKDAY(A1)<2,WEEKDAY(A1)>6),5,4)」 ※セルの表示形式は[標準] ※日曜日の日数は念のためご確認を・・・テキトーでごめんなさい。 (2006~2007年ぐらいまでしか確認していません。確実な判定をするには、月の日数(28日~31日)も考慮する必要があるかも。)
- tgn1013
- ベストアンサー率33% (386/1137)
どのように計算されようと思っていますか? 毎月の日数から、日曜の日数を削ればいい。 月初の日が分かれば、eomonthでその月の月末日が分かります。 あとは月初の日が何曜日かで分岐して、日曜の日数(4or5)を引けばでるのでは?
補足
早速の回答ありがとうございます!! 希望している使用方法ですが、毎日の目標営業額を毎日エクセルで表示させたいのです。 月初めから、(日曜日を除いた)経過日数をカウントさせものに月間目標営業額を営業日数で割った金額をかけて・・・と考えてみたんですが、そう考えていくとどうしても日曜日が邪魔になるんです(TT) 別に何かいい考え方があったら、そちらもぜひ宜しくお願いします!
補足
こんにちは、回答ありがとうございました。 すいません、言葉が足りませんでした・・・ 月末だけではなく、毎日表示をさせていきたいんです。今までは"TODAY"を使用していたんですが、それでは休みの日も計算に含まれてしまうので・・・