- ベストアンサー
エクセルで走行距離の表示
車の燃費を記録しています。A列に日付、B列に走行距離で1年間にB34~39位までのセルに順次記入して行きます。B2セルが年初の走行距離なので、=MAX(B2:B40)-B2、をB41セルに入れて当年の走行距離が表示されるようにしていますが、この方法は走行距離のように最下セルの値が必ず大きくなるものにしか使えません。最下セルの値-B2、の式はどうすれば良いか教えて下さい。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
B2~B40までのセルのうち、データの入っている一番下のセルの値を取得する という解釈でいいですか? =OFFSET($B$2,COUNT($B$2:$B$40)-1,0) とすると、データの入った一番下のセルの値が取得できると思います。 (実際には、式の最後に「-b2」をつけることになるのでしょうけど)
その他の回答 (3)
- zap35
- ベストアンサー率44% (1383/3079)
#03です。配列数式を使いたくないなら =INDIRECT("B"&SUMPRODUCT(MAX((B2:B40<>"")*(ROW(B2:B40)))))-$B$2 になります。(普通にEnterで確定) B列の途中に空白セルがあっても大丈夫です
お礼
ありがとうございました。役に立ちました。
- zap35
- ベストアンサー率44% (1383/3079)
質問にあるような =MAX(B2:B40)-$B$2 では最下セルではなく、範囲内の最大値からB2の値を引き算ですから、走行距離なら問題ないのではないですか? 最下セルからの引き算に拘るなら =INDIRECT("B"& MAX((B2:B40<>"")*(ROW(B2:B40))))-$B$2 をペーストしてShift+Ctrl+Enterで確定してください。
- bin-chan
- ベストアンサー率33% (1403/4213)
> =MAX(B2:B40)-B2 とありますが、記入するのは > 1年間にB34~39位までのセルに の6つのセルなんですよね? なので セルB41には式[=MAX(B34:B39)-B2]で良いのでは? 未記入の場合、マイナスになるのはイヤだ、だったら セルB41には式[=if(max(b34:b39)>b2,max(b34:b39)-b2,"")]で良いかな?
お礼
ありがとうございました。B2から順次走行距離を記入して、B36~40位までが1年の記入終わりになるという意味のつもりでしたが、表現が不適切で申し訳ありませんでした。
お礼
ありがとうございました。うまくできました。