• 締切済み

Excel2003日付指定で数値を返す

    A       B       C       D      E 1   コード    日付   枚数   金額     締め 2   1525     7/05      3     4800     5 3   2555     7/11      5     3900     15 4  1524      7/16      2    2980      20 日付で1日~5日は締め5日 6日~10日は締め10日 11日~15日は締め15日 16日~20日は締め20日 21日~25日は締め25日 26日~31日は締め末日 と 日付によって締めが変わってきます、入力された日付で締め日を自動入力出来ればと IF関数を使ってやってみたのですがうまく行きません、どうぞ宜しくお願いいたします。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.8

E2に =IF(B2="","",IF(DAY(B2)<26,CEILING(DAY(B2),5),DAY(DATE(YEAR(B2),MONTH(B2)+1,0)))) ぐらいでいいです。

すると、全ての回答が全文表示されます。
回答No.7

まず先に「EOMONTH」という関数を使いますので「ツール」→「アドイン」→「分析ツール」にチェックを入れて「OK」で閉じます IF関数を使って値を返す場合の数式は次の通り セルE2=IF(DAY(B2)>=26,TEXT(DAY(EOMONTH(B2,0)),"D")*1,IF(DAY(B2)>=21,25,IF(DAY(B2)>=16,20,IF(DAY(B2)>=11,15,IF(DAY(B2)>=6,10,IF(DAY(B2)>=1,5,"")))))) 「EOMONTH」葉そのまま使うと日付で値を返してきますので「TEXT」関数をを使い更に数値化してあげます 更にその月の最終日も出力することが出来ますので閏年、その他も特に心配する必要はありません 一応、画像を添付しておきます <(_ _)>

すると、全ての回答が全文表示されます。
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.6

=IF(DAY(B2) >25,DAY(DATE(YEAR(B2),MONTH(B2)+1,0)),INT((DAY(B2)-1)/5+1)*5) とか?

すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.3・4です! 何度もごめんなさい。 No.3で誤記がありました。 >メニュー → ツール → オプション → 「分析ツール」に・・・ は >メニュー → ツール → アドイン → 「分析ツール」に・・・ が正解です。 どうも失礼しました。m(_ _)m

すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.3です! たびたびごめんなさい。 前回の数式内 Match関数で余計なものが入っていました。 (そのままでも問題ないと思いますが) 数式を =IF(B2="","",IF(DAY(B2)>=26,DAY(EOMONTH(B2,0)),CHOOSE(MATCH(DAY(B2),{1,6,11,16,21},1),5,10,15,20,25))) に訂正してください。m(_ _)m

すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! No.1さんとほぼ同じやり方になりますが・・・ E2セルに =IF(B2="","",IF(DAY(B2)>=26,DAY(EOMONTH(B2,0)),CHOOSE(MATCH(DAY(B2),{1,6,11,16,21,26},1),5,10,15,20,25))) という数式を入れオートフィルで下へコピーではどうでしょうか? ※ Excel2003というコトですので、EOMONTH関数を使用するにあたり メニュー → ツール → オプション → 「分析ツール」にチェックを入れておく必要があります。 ※ E列セルの表示形式は ユーザー定義から 0日 としておきます。 参考になりますかね?m(_ _)m

すると、全ての回答が全文表示されます。
noname#204879
noname#204879
回答No.2

》 26日~31日は締め末日 単に「末」あるいは「末日」と表示させるのですか?それとも… 1月、2月、4月はそれぞれ 31、28(または 29)、30 と表示させるのですか? ソコントコ明確にしなきゃ~!

paruru6364
質問者

補足

そこまで厳密に考えて質問をしていませんでした。mike_gさんの指摘どおりですね、暦によって末日は変わります。ありがとうございます。

すると、全ての回答が全文表示されます。
  • aokii
  • ベストアンサー率23% (5210/22063)
回答No.1

=CHOOSE(DAY(B2),5,5,5,5,5,10,10,10,10,10,15,15,15,15,15,20,20,20,20,20,25,25,25,25,25,DAY(EOMONTH(B2,0)),DAY(EOMONTH(B2,0)),DAY(EOMONTH(B2,0)),DAY(EOMONTH(B2,0)),DAY(EOMONTH(B2,0)),DAY(EOMONTH(B2,0)))

すると、全ての回答が全文表示されます。

関連するQ&A