[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『稼働日数後の日付を得るには?』(八紘一宇)
Excelでタスク管理を行いたいので、タスクの開始日付から所要日数をプラスした日付(タスク終了日)を得るには、次の2通りの場合に、どのような関数を使えばよろしいのでしょうか?
(その1)例えば、土日祝日が休日の場合(暦通り)
< 使用 Excel:Office365、使用 OS:Windows10 >
NETWORKDAYS関数でいいんでないの? (GobGob) 2020/03/05(木) 11:49
行列番号がわかるように表を提示してください。
その1) 祝日を考慮する場合はどこかに祝日(土日以外の休日)の日付を入力しておく必要があります。
J2:J100 が祝日の日付だとして
D2 =IF(COUNT(B2:C2)<2,"",WORKDAY(B2-1,C2,$J$2:$J$100))
その2) 普通に足し算だと思いますけど・・・
D2 =IF(COUNT(B2:C2)<2,"",B2+C2-1)
どちらも表示形式「日付」
こういうこと? (笑) 2020/03/05(木) 12:23
NETWORKDAYS関数とCOUNTIFS関数でいいんでないっすか?
=NETWORKDAYS(稼働日) + COUNTIF(休日出勤日をカウント) (GobGob) 2020/03/07(土) 07:46
よくよく見返したらお門違いな回答やね。。。 再考します。 (GobGob) 2020/03/07(土) 08:18
力づく案w。
条件 ・稼働日数は100位にする(365日範囲にしてますがw) ・休日範囲はF列〜Z列(タスクごと) ・祝日考慮なし
A B C D E F G H I J K 1 タスク 開始日 日数 終了日 休出 2 A 3/1 日 5 3/5 木 3/1 日 3/7 土 3 B 3/2 月 5 3/6 金 4 C 3/3 火 5 3/7 土 3/7 土 5 D 3/2 月 6 3/7 土 3/7 土 6 E 3/7 土 6 3/13 金 3/8 日 7 F 3/7 土 10 3/16 月 3/7 土 3/8 日 3/14 土 3/15 日
D2 =AGGREGATE(15,6,(B2-1+ROW(A$1:A$365))/((MMULT((WEEKDAY(B2-1+ROW(A$1:A$365))<>{1,0,0,0,0,0,7})*1,{1;1;1;1;1;1;1})=7)+COUNTIF(F2:Z2,B2-1+ROW(A$1:A$365))),C2) (GobGob) 2020/03/07(土) 09:05
GobGob さんではありませんが・・・ >COUNT関数(数値が入力されているセルの個数)が使用されているのはなぜでしょうか?
使わなくても全く問題ないのなら外してください。
D2 =WORKDAY(B2-1,C2,$J$2:$J$100) ↑ の式でB2、C2が空白の場合どうなるかを見れば COUNT 関数を使っている意味もわかるでしょう。 よかれと思ってやったことが余計なお世話だったようです。
■その2 基本は土日祝が休日で、たまに休日出勤があるってこと?
1)休日出勤の日付を入力するのではなく、とりあえず土日の日付をすべて入力 1つ1つ入力しなくても 例えば J1セルに 3/1 J2セルに 3/7 を入力 J3セルに =J1+7 を入れ、必要なだけ下にオートフィル ↓ 日付をコピーし、形式を選択して貼り付け「値」
2)祝日の日付も入力(同じ列に)
3)休日出勤の日はJ列のリストから消す 3/1、3/7が休日出勤なら、J列の3/1、3/7をDeleteキーで消去
B C D 1 2 3/1(日) 5 3/5(木) 3 3/2(月) 5 3/6(金) 4 3/3(火) 5 3/7(土)
WORKDAY.INTL 関数を使う D2 =WORKDAY.INTL(B2-1,C2,"0000000",J:J)
※J列は列全体を指定しているので、見出しなど文字列を入力しないように(エラーになる)
以上、参考まで (笑) 2020/03/07(土) 13:02
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.