人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

●質問者: PaPriKa
●カテゴリ:コンピュータ
✍キーワード:セル 上方 体重 毎日 記述
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● ootatmt
●40ポイント

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

A列は日付

B列は体重で、

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

=IF(B2,B2,C1)

そしてD列に

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

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

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


2 ● きゃづみぃ
●20ポイント

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


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

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

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

で、

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

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

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


3 ● たけじん
●20ポイント

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

=IIF(B1>0,B1,D1)

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

C2には、

=B2-D2

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


4 ● SALINGER
●20ポイント

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

例えば

D1の数式を =B1

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

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

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

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

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


5 ● snaruseyahoo
●20ポイント

これは、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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ