EXCELで体重の増減を記録しています。


A列に日付、B列に体重、C列に前回計った体重との増減を数式で表示したいのですが、毎日記録している訳でないので参照するB列のセルが「数式の真横のB列のセルから上方にあるはじめに値のあるセル」になります。

これをVBAでなく、数式で記述するにはどうすればよいのでしょうか?

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2007/02/09 12:30:22
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

id:ootatmt No.1

回答回数1307ベストアンサー獲得回数65

ポイント40pt

計算用のC列を追加して、D列に前回計った体重との増減を入力するようにしてもいいですか?

A列は日付

B列は体重で、

C列に次のような数式を入れます

=IF(B2,B2,C1)

そしてD列に

=IF(B2,C2-C1,"")

このように入力しておいて、C列を隠せばご希望通りの動作になると思います。

(行番号は適宜変更してください)

id:taknt No.2

回答回数13539ベストアンサー獲得回数1198

ポイント20pt

B列が入力されたら その手前に入力された行のB列と比較してC列を計算するということですね。


1行目から始めたとします。

新しくD列に 前回体重という項目を作ります。

セルD1に =B1 と入れます。

で、

セルC2に =IF(B2="",C1,B2-D1)

セルD2に =IF(B2="",D1,B2)

と入れてそれを コピーしてから 以下の行に貼り付けます。

id:takejin No.3

回答回数1543ベストアンサー獲得回数203

ポイント20pt

D列を設けます。ここの2行目(D2)に、

=IIF(B1>0,B1,D1)

と書き込みます。これをD列にフィルすると、直前に記入されているBの値がD列に表示されることになります。

C2には、

=B2-D2

と記入すれば、増減が表示できるでしょう。

id:SALINGER No.4

回答回数3454ベストアンサー獲得回数969

ポイント20pt

C列の増減の数式のことだと解釈しますと、D列を作ることで簡単にできます。

例えば 

D1の数式を =B1

D2の数式を =IF(B2="",D1,B2)

D3以下の数式をD2を下にドラッグ。

B2の数式を =IF((D1-D2)=0,"",D1-D2)

B3以下の数式をB2を下にドラッグ。

そして、D列を表示しないにします。

id:snaruseyahoo No.5

回答回数491ベストアンサー獲得回数4

ポイント20pt

これは、1日あたりの増減について調べたいのでしょうか。

もしそうだとするなら、C列における分母として日数が問題となりますね。そこで、その分母である日数の求め方ですが、まず、A列の各セルについて、「書式」により、「表示形式」を「日付」とします(2007/1/31などと入力した場合は自動的にそうなると思います)。その日付から、一つ前の日付を引いて、D列にいれます。そのD列の数字を引数として、関数DAY(Dn)をE列に入れます。このとき、例えば今日が2007/2/3でその前が2007/1/31だとしますと、1/31より3日を経過しているわけですから、「3」となります。そして、最後に、B列の数字より、その1つ上の数字を引いたものをBn-Bmとしますと、セルBnには、(Bn-Bm)/Enという数式を入れれば、OKです。

よろしければ、下記サイトの「体重管理コーナー」もごらんください。

http://www.geocities.jp/snaruse_intage/index.html

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません