• ベストアンサー

関数の使い方が分かりません。

下の表のように 初期値を100として、毎日少しずつ数値が増えるとして、 増加の値B5に、最新の数値(3月15日)との差を、 常に表示させるにはどうすればいいですか? 明日、3月16日の行を追加したとき、B5が自動的にC24との差を計算すような方法はないでしょうか? 列の最下段または最新の情報を返す関数がないかとしらべてみたのですが、よくわからないので、おねがいします。 *最大値(MAX)との差ではないです。常に、一番新しい項目との差をだしたいんです。 A B C 1 初期値 増加 2 100 3 4 5 日付 数値 6 3月1日 101 7 3月2日 102 8 3月3日 103 9 3月4日 103 10 3月5日 104 11 3月6日 104 12 3月7日 105 13 3月8日 104 14 3月9日 105 15 3月10日 106 16 3月11日 105 17 3月12日 107 18 3月13日 106 19 3月14日 107 20 3月15日 106

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 日付が連続して入力されているならば、以下の方法でも出来ます。 =OFFSET(B5,COUNTA(A:A)-3,0,1,1)-A2 COUNTA関数は、A列の空白以外のセルをカウントする関数です。 関数の後ろの"-3"は、「初期値」「100」「日付」が入ったセルの分だけ引いています。 (したがって、A2、A3や最新日付より下に何か入力がある場合は、その分も引く必要があります。) OFFSET関数は、基準のセル(この例ではB5)から何行何列移動したセルを参照する関数です。 この場合は、B5から日付の数分下に移動して、最新日付の値を参照しています。 それぞれの関数の詳細は、ヘルプなどを参照して下さい。

その他の回答 (1)

  • newleaf
  • ベストアンサー率14% (1/7)
回答No.1

こんばんは。 日付の入力が日付連番で行われている事を前提にすれば、次のような関数式で求められます。 =Vlookup(Large(A:A,1),A:B,2,False)-A2 ※初期値がA2で、日付がA列、数値がB列に入力されていると仮定しています。 まず、Large関数で一番大きな日付連番を特定し、その日付をキーにして、Vlookup関数で数値を求めています。