EXCELのA列に作業終了予定時刻、B列に作業終了実績時刻、C列に作業終了時刻の実績と予定の差、D列に作業名、G列に予定作業所要時間、H列に実績作業所要時間を記載している。I列に各作業の終了見込みを表示させたい。
なお、
A列の作業終了予定時刻は最初の作業を除き直前の作業終了時刻+予定作業所要時間として計算(即ち、iを行番号、作業の数をn、2=<i<=nとするとき, A(i) = A(i-1)+G(i))。
B列の作業終了実績時刻は1作業終了ごとに手入力。
G列の予定所要時間は最初の作業開始前に各作業の所要時間の見込み値すべてを手入力。
H列の(各作業の)実績所要時間はB列の作業終了実績時刻の差として計算
(即ち、H (i) = B (i)- B (i-1))。
教えていただきたいことは
1. 各作業ごとに、C列の作業終了時刻の実績と予定の差を計算したい。(C(i)を計算したい。2=<i<=n) (計算値が負になる場合、24時をまたぐ場合など計算してくれません。)
2. 各作業終了ごとにそれ以降の各作業の終了予定時刻を計算し,I列に表示させたい。例えば5番目の作業終了時には5番目以降のすべての作業の終了予定時刻とその前に計算した2~4番目の作業終了予定時刻も残しておきたい。
I(i) =A(i)+ C(i)とすればいいのかと思いますが、C(i)が計算できないので…
また、I(i)を1列に表示する方法がわかりません(2=<i<=n)。
EXCELは2016年版(多分)
パソコン初心者です。よろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
1) 作業終了時刻の実績B列と作業終了時刻の予定Aの差をC列に計算したい。
(計算値が負になる場合、24時をまたぐ場合など計算してくれません)
☆ エクセルで時刻のデータには、(マイナスの時刻)はないのでそのままは無理です。
時刻データとしてではなく、文字として表示させるのが一般的だと思います。
時刻差や時間差は、(+)(-)(±)をつけて、文字として表示させるという方法です。
この文字としての時間差を、他の計算に使用はできないので、
差を計算に使う場合は、通常の計算方法で出した結果を使います。
☆ (24時をまたぐ場合など) 手入力した[00:23]と、[23:45+00:48]のように計算させた結果で表示が[00:23]となっているのとは、同じ値としては扱われません。
手入力した[00:23]を([23:59]よりも大きな値)として扱いたい場合は、[00:23]と入力されているところの値に(何かを加算した結果)を利用することにするのが良いです。
~~~ ~~~ ~~~ ~~~
2)I列に表示させるものを、(条件によってふるい分ける ⇒ 過去の欄には(その行のの終了時刻実績を入力する直前に表示されていた内容を残す) : 終了時刻実績をまだ入力してない行には(所用作業予定時間から計算した終了予定時刻を表示する)
☆ やりたいことの条件が複雑ですので、そうした場合は、作業領域をつくって、ある程度のところまで作業させて必要なデータを出しておいて、そのデータを利用するのが、楽です。
☆ 下図では、J列に作業領域をつくって、ダミー(特殊な)の終了時刻を表示させています。
J15の場合は次の式です。
=IF(G15="","",IF(B15="",J14+G15,IF(ABS(A15-B15)>0.5,B15+1,B15)))
ここで [ B15+1 ]は、B列に入力した時刻を翌日の時刻にするための加算です
ここで [ ABS(A15-B15)>0.5 ]は、A列とB列との時刻差が12時間以上あるか否かを判別しています
ここで (B列に実績が入力されているときに)[ (B15+1) あるいは(B15))]で、B列に入力された終了時刻の本来の意図?時刻を、J15に表示
ここで (B列に実績が入力されてないときに)[ J14+G15 ]で、J列の前の行の終了時刻にこの行の所要時間を加算して、J15に表示
☆
I15は、次の式です
=IF(B15="",J15,J14+G15)
ここで (B列に実績が入力されているときに)[ J14+G15 ]を、I15に表示
ここで (B列に実績が入力されてないときに)[ J15 ]を、I15に表示
☆
H15は、次の式です
=IF(B15="","",J15-J14)
ここで、[ J15-J14 ]とせずに、[ B15-B14 ]としてしまうと、00:00を超えたところで計算が期待のものではなくなってしまいます
☆
C15は、次の式です
=IF(B15="","",IF(A15=B15,"±00:00",TEXT(ABS(J15-A15),IF(A15>J15,"-hh:mm","+hh:mm"))))
このやり方が良いのか、他にも良い方法があるか、よく考えてはいません。
時間差を計算して、マイナスになった場合、それをそのまま表示しようとするとエラーになります。で、結果を文字列にしてしまうという方法です。
☆
A15は、次の式です
=IF(OR(A14="",G15=""),"",A14+G15)
早速にご回答ありがとうございます。
どこまで理解できるか、じっくり考えて、やってみて改めてご報告します。
素人ではありますが、ここまでご回答いただくには大変なお手数をおかけしたのではとありがたく思っています。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
字面がカッコいい英単語
あなたが思う「字面がカッコいい英単語」を教えてください。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
EXCELを使った予定表で、予定と実績の差を計算したいが、差が負になると答えが得られない。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレッドシート】指定の日...
-
SUMIFとCOUNTIFを合わせたよう...
-
エクセルでの複数条件下での標...
-
エクセル2003 MONTH関数で
-
Excelの表以外が暗い?
-
エクセルで「ぶら下げ」書式を...
-
エクセルで、一つのセルに二つ...
-
エクセル シフト表 6連続勤...
-
EXCEL 経過年数の平均を求めた...
-
vbaで「/」を削除したい
-
ある一定時間を超えた場合の超...
-
excelでの文字を隠す方法
-
Excel 関数を2つ教えてください。
-
エクセルにて「週」から日付を...
-
エクセルで年月の合計の関数を...
-
エクセル 重複行色付(VBA)に...
-
Excel:月またぎを含む日数の差...
-
複数連続した列幅や行高を一発...
-
Excel : DCOUNT関数の条件表の...
-
EXCEL 年月表示をするVBAを教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUMIFとCOUNTIFを合わせたよう...
-
エクセルでの複数条件下での標...
-
【スプレッドシート】指定の日...
-
ある一定時間を超えた場合の超...
-
Excelの表以外が暗い?
-
エクセルで年月の合計の関数を...
-
隣のセルに入力したら自動的に...
-
エクセルにて「週」から日付を...
-
EXCEL 経過年数の平均を求めた...
-
エクセルで「ぶら下げ」書式を...
-
エクセルで、一つのセルに二つ...
-
エクセルで角度の計算できますか?
-
Excel:月またぎを含む日数の差...
-
EXCEL 年月表示をするVBAを教...
-
複数連続した列幅や行高を一発...
-
エクセル シフト表 6連続勤...
-
エクセル2003 MONTH関数で
-
excelでの文字を隠す方法
-
エクセル くじ引きの口数が別々...
-
エクセルの質問です。
おすすめ情報
ご指導に従いやってみました。
ABC列はうまくいきました。
ところがHIJ列にうまくいかないところがあります。
IJ列が小数になります。例えばI15は0.013888888889 、 I16は0.986111111 、
J15は0.972222222
H16が#####となりました。
お手数をおかけしますので恐縮ですが、教えていただければとてもありがたく思います。
補足の補足です。(補足の情報不足と思いまして…)
各列に入力したのは下記のとおりです。
J15には下の式をカットアンドコピーしました。
=IF(G15="","",IF(B15="",J14+G15,IF(ABS(A15-B15)>0.5,B15+1,B15)))
そしてJ16行目以下はJ15をコピードラッグしました。IHCA列も要領は同じです。
I15は、次の式です
=IF(B15="",J15,J14+G15)
H15は、次の式です
=IF(B15="","",J15-J14)
C15は、次の式です
=IF(B15="","",IF(A15=B15,"±00:00",TEXT(ABS(J15-A15),IF(A15>J15,"-hh:mm","+hh:mm"))))
A15は、次の式です
=IF(OR(A14="",G15=""),"",A14+G15)
補足3 ひょっとして、下のことが影響しているのでしょうか?H16が####となりましたので。
少数の作業間の時間を知る必要があり、F列(の少数の行)をこれに使っています。
F16にはつぎの式をいれています。=K16-A15+A16
K16は「 0:00」と表示されており、開いてみると“1900/1/1 0:00:00”となっています。
ひょっとしてこれが悪さをしているのでしょうか?