• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelの関数について)

Excelの関数で体重差を求める方法とは?

このQ&Aのポイント
  • 毎日体重を計ることができない場合でも、前回の体重との差を求める方法をExcelの関数を使用することで実現することができます。
  • 仕事の関係で毎日は体重を計れない場合でも、1日1回書き込む表を作成し、その日の体重を記録します。そして、前回の体重との差を求めるために、Excelの関数を使用します。
  • 前回の体重との差を求める方法は、前回の体重を表の一つ前のセルに表示し、差を計算するセルには「現在の体重 - 前回の体重」という式を使用します。こうすることで、毎日体重を計るわけではなくても、正確な体重差を求めることができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

「一番下」を計算する定石で求めます。 C2に =IF(OR(COUNT($B$1:B2)<2,B2=""),"",B2-LOOKUP(999,$B$1:B1)) と記入、下向けにコピー。

noname#168405
質問者

お礼

ありがとうございました。 そのまま、数式を貼り付けてそしてコピー、うまくいきました。 イマイチ、LOOKUP関数のヘルプを見ると「必ず昇順で」とか書いてありますし、求められる値は近似値なのでしょうが、なぜ下の方から引っ張ってきてくれるのか、など「半分だけわかった」ような気分です。 何はともあれ、これで目的の事が実行できそうです。 本当に感謝しています。

その他の回答 (4)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

次のようにしてもよいでしょう。 A1セルに日付、B1セルに体重、C1セルに前回との体重差と項目名が有るとしてC2セルには次の式を入力して下方にドラッグコピーします。 =IF(OR(ROW()=2,B2=""),"",B2-LOOKUP(10^10,B$1:B1))

noname#168405
質問者

お礼

どうも、ありがとうございます。 たぶん、考え方はNo.3の方と同じではないでしょうか。 ところで、この場をお借りして回答を頂いた方にお礼が遅れてしまったお詫びをしたいと思います。 「すぐに回答を!」にしたのは、決して嘘ではありませんでした。 しかし、あくまで自分のプライベートに関した事での使用であり、仕事が不規則な私の場合はどうしても仕事を優先させなければならず、なかなかゆっくりと試して考える時間が持てませんでした。 また、私自身の理解力不足もあることは否定しません。 私としても、早くこの問題をクリアし、私のやりたかった事を早く進めたかったのですが、仕事を優先したためにこのように遅れてしまいました。 何はともあれ、皆様のおかげで無事問題解決し、私のやりたかったことが実現できるようになったことは、感謝に堪えません。 また、わからない事がありましたらば、ぜひまたお力をお貸しください。

回答No.4

=if(b3="","-",b3-offset(B$2,max(index((B$2:b2<>"")*row(B$2:b2),))-row(B$2),0)) とも。特に、これが優れているわけでも何でもありませんが。ベストアンサーは辞退します。 ところで、測定しない日は間を空けたいとのことなのですが、ご参考まで。例えばグラフにしようとして、表に途中を空けないで記入していった場合でも、表の特別な加工などしなくても、途中の日付を飛ばしてプロットするように設定できます。添付図のとおりです。横軸に対して右クリックで「軸の書式設定>軸のオプション>日付軸」をチェックするだけです。

noname#168405
質問者

お礼

どうも、ありがとうございます。 一応、数式に関しては一番シンプルなNo.3の方のものを採用させて頂きました。 それからグラフですが、なるほどそのような手もあるのですね。 質問の冒頭に「たとえば」とあるように、実は体重差を求めたいのではありませんでした。 本当の目的を書くと説明が面倒になってしまうために、あえて体重差としただけでした。 しかし(今はやっていませんが)以前、体重を記録していた時にもチョット疑問に思った事なので、あながち嘘を言っていたわけではありません。 もし、また私が体重を記録するようなことがあれば、教えて頂いたようにグラフにしたいと思います。 どうも、ありがとうございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! >1日1回書き込める表を作り・・・ とありますので、測れない日は空白になる!というコトですね? 表のレイアウトが判らないので勝手に↓のような配置でやってみました。 とりあえずやり方だけです。 画像ではC3セルに =IF(AND(COUNT(B$2:B3)>1,B3<>""),B3-INDEX(B$2:B2,MAX(IF(B$2:B2<>"",ROW(A$1:A1)))),"") これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合はC3セルに貼り付け後、数式バー内で一度クリック! 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定します。 数式の前後に{ }マークが入り配列数式になります。 C3セルをオートフィルで下へコピーすると 画像のような感じになります。m(_ _)m

noname#168405
質問者

お礼

お礼が遅れてしまって、大変申し訳ありません。 わざわざ、画像を張って説明して頂きありがとうございました。 私も同じように試してみたのですが、どうもエラーとなりうまくいきませんでした。 正直、なぜなのか私にはそこまで解析する力はありません。 たぶん、tom04さんはこの数式でうまくいっていたのでしょうから、どこかで何かが違っていたのか、私の操作ミスだったのか、よくわかりません。 (Shift+Ctrl+Enterはやりました) でも、とても丁寧に画像まで貼り付けて下さったことには感謝しています。 私も、これからは説明が難しい場合は画像などを用いて説明しようと思います。

noname#168405
質問者

補足

早速の回答ありがとうございます。 たぶん、私が求めていた回答なのだと思いますが、自分自身でも、理解したいと思いますので、もうしばらく"お礼"はお待ち下さい。 何はともあれ、どうもありがとうございます。

  • mimazoku_2
  • ベストアンサー率20% (1908/9135)
回答No.1

ようはコレ? だったら、難しく考えずに作るといいよ。

noname#168405
質問者

お礼

早速の回答ありがとうございます。 No.2の方が書かれていますが、「測れない日は空白になる」と言う事です。 どうも、ありがとうございました。

関連するQ&A