- ベストアンサー
Excel 2010での複数の空白セルの上のセル参照 増加速度を計算する方法
- Excel 2010で複数の空白セルの上のセルを参照して増加速度を計算する方法について教えてください。
- 日付や数字がとびとび入力されている場合でも増加速度を求める関数についても教えてください。
- また、空白セルの場合は計算をスキップする方法についてもアドバイスしてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- bunjii
- ベストアンサー率43% (3589/8249)
C列の1つの数式を入力して下へ必要数コピーするためには複雑な処理が必要になります。 B列は入力されている行番号が不規則なため対象セルを検出しなければなりません。 少々長い数式になりますがC2セルにセットして下へ必要数コピーしてみることをお勧めします。 =IF(ISNUMBER(B8),(B8-INDIRECT(ADDRESS(SUMPRODUCT(MAX((B$1:B7<>"")*ROW(B$1:B7))),2)))/(A8-INDIRECT(ADDRESS(SUMPRODUCT(MAX((B$1:B7<>"")*ROW(B$1:B7))),1))),"") IF(ISNUMBER(B2,数式,"")はIF(B2="","",数式)でも良いのですが、B列に文字列が入力されたときエラーが発生します。 直前の行番号はMAX関数で割り出しますがB列の1行目から処理行の上の行までに数値が入力された行番号の最大値で判断しています。 SUMPRODUCT関数は配列数式でも通常通りの数式入力でEnterキーのみで確定できる性質を応用するために使っていますので、煩わしいときは省いてCtrl+Shift+Enterで確定する方法でも良いでしょう。 (B8-B1)のB1と(A8-A1)のA1はINDIRECT関数とADRESS関数の組み合わせで可変にしています。
お礼
回答ありがとうございました 回答があったらメールでお知らせが入ると思っていたので、気が付くのが遅くなってしまいました ISNUMBER関数、INDIRECT関数、ADDRESS関数、SUMPRODUCT関数、MAX関数、ROW関数と、初めてみる新しい関数ばかりで、何が書かれているのかを理解するのに時間がかかりました。こんなこともできるんですね。思ってもいない方法でした。まだマスターするのには時間がかかりそうですが、また、勉強してみたいと思います。 ありがとうございました。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! A列・B列とも不規則で構わないのですが、どちらも必ず昇順にデータが入っているという前提です。 C2セル(←C1セルではありません)に =IF(OR(B2="",COUNT(B$1:B2)<2),"",(B2-LARGE(B$1:B2,2))/(A2-INDEX(A$1:A2,LARGE(IF(B$1:B2>0,ROW(A$1:A2)),2)))) 配列数式になりますので、Ctrl+Shift+Enterで確定! この画面からコピー&ペーストする場合は 上記数式をドラッグ&コピー → C2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Ctrl+Shiftキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これをフィルハンドルで下へコピーしてみてください。m(_ _)m
お礼
回答ありがとうございました 回答があったらメールでお知らせが入ると思っていたので、気が付くのが遅くなってしまいました LARGE関数やCOUNT回数について、勉強になりました
お礼
回答ありがとうございました 回答があったらメールでお知らせが入ると思っていたので、気が付くのが遅くなってしまいました COUNT関数をこのように使うのかということや、LOOKUP関数など、シンプルなのに、こんな使い方ができるのかと言うことに驚きました ありがとうございました しかも日付でこのように計算ができるということが、とてもありがたかったです もう、完全にお手上げだったのに、こんなことができるなんて感動です。ありがとうございました。