『燃費管理にて』(うるん)
ニッチな質問ですみません。
複数台の車の燃費を管理したく、以下のようなリストを作成しました。
a b c d e f g h ※ 日付 金額 油量 単価 車種 距離 燃費
e列の単価は =IFERROR(ROUND(C2/D2,0),"") h列の燃費は =IF(AND(D2<>"",G2<>""),ROUND(G2/D2,2),"") のように入力していて、残りの項目は手打ちです。
基本的には満タン給油と給油時の走行距離(trip)を記録しているのですが、稀に1000円単位もしくは10L単位などで給油されることがあります。
その場合は当然ですが燃費計算がおかしくなり、次に満タン給油した際にもおかしくなります。
そこで※に部分給油をしたときにはxなどの印を付け、燃費計算せずに次回満タン給油をした際に一括で計算できるようにしたいと考えています。
例)
a b c d e f g h 4/1 1,000 5.88 170 nbox 300 51.02 4/8 3,650 22.12 165 voxy 300 13.56 4/10 3.078 18.11 170 nbox 76 4.20 ↓ x 4/1 1,000 5.88 170 nbox 300 '--- 4/8 3,650 22.12 165 voxy 300 13.56 4/10 3.078 18.11 170 nbox 76 15.67
xのある行であればh列を =IF(A2="x","---",IF(AND(D2<>"",G2<>""),ROUND(G2/D2,2),"")) とすれば良いのだと思いますが、その下を"15.67"とするにはどのような数式にすれば良いか、皆目検討がつかず投稿させて頂きました。
何か良いアイデアがございましたらご教示頂きたく。
どうかよろしくお願いします。
< 使用 Excel:Excel2021、使用 OS:Windows11 >
Option Explicit Sub OneInstanceMain() Dim i&, r, oil, zensou With Worksheets("Sheet1") Set r = .Cells(1).CurrentRegion For i = 2 To r.Rows.Count If r(i, 1) = "x" Then If i + 2 <= r.Rows.Count Then r(i, 8) = "---" oil = CDec(r(i, 4)) + CDec(r(i, 4).Offset(2)) zensou = CDec(r(i, 7)) + CDec(r(i, 7).Offset(2)) r(i, 8).Offset(2) = Application.Round(CDec(zensou) / CDec(oil), 2) End If End If Next End With End Sub (隠居Z) 2024/04/28(日) 10:32:10
xの場合に備えて、累計列を新設したらどうですかね?
(1) E2セル =D2+IF(XLOOKUP($G2,$G$1:$G1,$A$1:$A1,"",0,-1)="x",N(XLOOKUP($G2,$G$1:$G1,E$1:E1,"",0,-1))) (2) E2セルをコピーして、I2にペースト (3) J2セル =IF(A2="x","---",IF(AND(D2<>"",G2<>""),ROUND(I2/E2,2),""))
上記数式を下にコピー
<結果図> 行 _A_ __B__ __C__ __D__ ____E____ __F__ __G__ __H__ ____I____ __J__ 1 ※ 日付 金額 油量 油量累計 単価 車種 距離 距離累計 燃費 2 x 4/1 1000 5.88 5.88 170 nbox 300 300 --- 3 4/8 3650 22.12 22.12 165 voxy 300 300 13.56 4 4/10 3.078 18.11 23.99 170 nbox 76 376 15.67
(半平太) 2024/04/28(日) 11:09:56
早速コメント頂きありがとうございます!
大変恐縮ながら、VBAはちょっとハードルが高すぎて手を付けるのが怖く。。。
もう少し実力が付いてから、改めて実践してみようと思います!
>半平太さま
早速コメント頂きありがとうございます!
補助列の考え方はなかったので、目からウロコでした!
確かにごちゃごちゃ考えるよりはワンステップ挟んだほうがスマートかも知れませんね…
数式の写し間違えで何回かvalueってしまいましたが、ちゃんと思った通りの数値にすることができました!
お二人共ありがとうございましたm(_ _)m
(うるん) 2024/04/28(日) 20:37:03
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.