[[20200901170701]] 『車両走行距離の計算』(にとりん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『車両走行距離の計算』(にとりん)

いつもお世話になっております。
社有車の走行距離を集計する表を作りたいと思っております。

A列日付 B列曜日 C列出発時 D列到着時 E列走行距離

1.日付欄はカレンダーに倣い自動的に出るように。
2.曜日欄は日付欄に対応した曜日が出るように。
3.出発時距離は「直近の到着時距離」で(前日の運行がない場合は前々日など)。
4.到着時距離は「出発時距離と走行距離の合計」で。
5.走行距離のみ入力にて。

運行がない場合は、出発時距離も到着時距離も走行距離も空欄になります。

これらの要件を満たしてくれる関数を教えてほしいです。

よろしくお願いいたします。

< 使用 Excel:Office365、使用 OS:Windows10 >


 >これらの要件を満たしてくれる関数を教えてほしいです。
 何で自分で調べようとしないのかな?
(EXC) 2020/09/01(火) 20:00

 確認だけ

 >1.日付欄はカレンダーに倣い自動的に出るように。
「カレンダーに倣い」の意味がわからないんですけど
 いつの日付が出ればいいんですか?

 以上
(笑) 2020/09/01(火) 20:19

 >これらの要件を満たしてくれる関数を教えてほしいです。

 関数で日付を自動的に出すのは無理っぽいです。
 候補としてはTODAY関数になるでしょうが、
 明日になると明日の日付に変わっちゃいますからねぇ。。

 まぁ、取り合ずTODAY関数入れて置いて、
 ファイルを閉じる時に値に変換してくれるマクロを入れて置けば良さそうですが、
 使い勝手がどれだけいいかは未知数。

(半平太) 2020/09/01(火) 20:36


 A列の日付って 1日分だけ?
 1か月分だったら1か月分の日付をズラッと並べるんじゃないんですか?

 以上
(笑) 2020/09/01(火) 20:47

 あれ、勘違い?
 入力日を自動的に出すのかと思ってしまった。

 私のレスはスルー願います m(__)m

(半平太) 2020/09/01(火) 21:30


笑さん
半平太さん
説明が足りませんでした。
笑さんのおっしゃる通り、1か月分の日付を並べるだけですので、自動的にというのは関係ないですね。
一番わからないところは、前日が空欄だった場合、その前の「直近の到着時距離を出発時距離に表示できるか?」さえ分かればなんとかなりそうです。
(にとりん) 2020/09/02(水) 17:03

 >前日が空欄だった場合、その前の「直近の到着時距離を出発時距離に表示できるか?」
 >さえ分かればなんとかなりそうです。

 そこだけわかればいいんですか?

	C	D	E
1	出発	到着	走行
2	0	30	30
3			
4	30	80	50
5	80	100	20
6			
7	100	140	40
8			

 E列は手入力

 C2 =IF(E2="","",MAX($D$1:D1))
 D2 =IF(E2="","",SUM(C2,E2))
 下コピー

 ■到着時距離は前月からの継続にしたいのなら

	C	D	E	F	G	
1	出発	到着	走行			
2	300	330	30		300	←前月最後の到着時距離
3						
4	330	380	50			
5	380	400	20			
6						
7	400	440	40			
8						

 G2セルに前月最後の到着時距離を入力

 C2 =IF(E2="","",IFERROR(LOOKUP(10^9,$D$1:D1),$G$2))
 D2は上と同じ

 ■ひとくちメモ
 LOOKUP関数の 10^9 は10の9乗
 LOOKUP の検査値を最大値よりも大きくすれば、範囲内の最後の数値を返します。

 到着時距離が最大でどのくらいになるのか知りませんけど
 必ずそれを上回る値にしておけばいいということです。

 参考まで
(笑) 2020/09/02(水) 21:47 変更 22:00

 前月から継続する場合
 ↓ でもいいかも

 C2 =IF(E2="","",IF(COUNT($D$1:D1),MAX($D$1:D1),$G$2))

 参考まで
(笑) 2020/09/02(水) 22:13

笑さん
ありがとうございました。
完璧にできました!
次月繰り越しまで付け加えていただき、解説も丁寧で感謝いたします。
(にとりん) 2020/09/03(木) 09:28

 >C2 =IF(E2="","",IF(COUNT($D$1:D1),MAX($D$1:D1),$G$2))

 上の式は ↓ の方がいいかも
 C2 =IF(E2="","",MAX($G$2,MAX($D$1:D1)))

 ■日付と曜日
 ついでに、日付を自動で出すのはムリと思ってるといけないので・・・
 1か月分(月初〜月末)だとすれば

	G	H
1	2020	9
	↑	↑
	年	月

 2020年9月の日付なら、G1セルに「2020」、H1セルに「9」を入力

 A2 =IFERROR(($G$1&-$H$1&-ROW(A1))*1,"")
 表示形式「日付」
 ※実際の表は2行目からではなくても ROW(A1) の「A1」を変更しないように

 B2 =TEXT(A2,"aaa")
 表示形式「標準」

 A2とB2を32行目までコピー

 参考まで
(笑) 2020/09/03(木) 15:17

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.