ここから本文です

エクセル2010を使っています。 単純な計算式なのでその都度入力すれば良いのです...

pho********さん

2019/11/1002:08:19

エクセル2010を使っています。
単純な計算式なのでその都度入力すれば良いのですが、他の人も使うので自動で計算したいのでわかる方教えてください。

A B C
1 給油日 給油時メーター 走行距離
2 月末 110847
3 1日 111186 339
4 2日
5 3日
6 4日 111517 此処を計算したい

運行が無いときは給油しないのでA4とA5は空欄でC4とC5も空欄です。
しかしA6で給油が有った場合通常であればC6=A6-A3と入力すれば良いのですが、
エクセルの使えない人も居るため、空欄を無視して計算するにはどの様な関数を使えば良いのでしょうか?

閲覧数:
51
回答数:
5
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

lun********さん

2019/11/1003:03:04

下図の場合
C2に
=IF(B2="","",B2-MAX($B1:B$2))
下にオートフィル。

エクセルの使えない人も居るとの事で
計算式を触られては困ると思います。
間違ってクリックされたりとか・・・

B列B2:B33は書式設定でロックを外し
シートの保護をすれば
B2:B33以外は弄れなくなります。

下図の場合
C2に...

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜4件/4件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

taihenda****さん

2019/11/1008:04:11

逆に考えるとB列はC列の累計なので
=SUM(C$2:C2)
の公式を使いますね。今回は逆なので累計の結果から引くだけのことなんですが、
スタートのB2の扱い方が・・・
C2に数字がないととても面倒なことになります。

月末は実際に110847でなくても形式的に110847乗車したことにすればいいわけで

C2
=IF(B2="","",B2-SUM(C$1:C1))

下にコピー

逆に考えるとB列はC列の累計なので
=SUM(C$2:C2)...

maronさん

2019/11/1007:18:30

◆走行距離が10万kmになることを想定して、
1)走行距離のB2:B33の範囲を指定して、
2)マウスを右クリックして、「ショートカットメニュー」の「セルの書式設定」を選択して
3)「表示形式」→「ユーザー定義」にして「種類」に、000000 と入力します
4)C2=IF(B3="","",B3-LOOKUP(1,0/(B$2:B2<>""),B$2:B2)+(B3<LOOKUP(1,0/(B$2:B2<>""),B$2:B2))*10^6)
5)下にコピー

◆走行距離が10万kmになることを想定して、
1)走行距離のB2:B33の範囲を指定して、...

あまつさん

2019/11/1003:07:26

INDEX関数,MATCH関数を使うとできますよ.
以下が実際にC6に入力する関数です.
=IF(B6="","",B6-INDEX($B$2:B5,MATCH(B6,$B$2:B5,1)))

これを他の行にもオートフィルでコピーすれば走行距離が計算できます.
例えば,C4には=IF(B4="","",B4-INDEX($B$2:B3,MATCH(B4,$B$2:B3,1)))と入力してみてください.

ちょっとした解説

IF関数
給油時メーターのセルが空欄の場合は走行距離のセルも空欄のままにします.

MATCH関数
過去の給油メーターの値の中から,現在の給油時メーターに一番近い最小値(4日の場合は1日の111186)を探し,範囲内(C6ではB2〜B6)で上から何番目か(C6では2番目)を返します.

INDEX関数
MATCH関数が返したセルの値を返します.

f3pさん

2019/11/1002:58:08

=IF(B6,B6-MAX(B$1:B5),"")

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる