重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

セルE1からF1 G1…と右方向にデータを入力しています。A1に直近5つのデータの最大値を表示させたいです。例えばE1~Z1までデータを入力したとすると、直近5つ最大値とはV1~Z1の最大値ということです。どんどん右方向にデータを入力していくのですが、A1に直近5つのデータの最大値を表示させたいです。これを実行させる関数式を知りたいです。関数式でできるのかはわかりませんが・・・。よろしくお願いします。

A 回答 (2件)

私なら、単純に、



 =MAX(OFFSET(E1,,MAX(COUNT(E1:IV1)-5,0)):IV1)

とします。

・データ数が5未満なら、開始列はE列
・データ数が5以上なら、開始列を「データ数-5」だけ右方にずらす
・開始列から最終列(IV)までのMAXをとる

直近7個なら、
 =MAX(OFFSET(E1,,MAX(COUNT(E1:IV1)-7,0)):IV1)

※例えば、K1までデータが入っている場合、【L1より右にはデータがない】わけですから、
 開始セルがG1であることさえわかれば、終了セルやセル幅を特に定めなくても、
 G1:IV1についてMAXをとれば十分です。
    • good
    • 0

◆これでいかがでしょうか?


A1=MAX(OFFSET(E1,,COUNT(E1:Z1)-1,,-MIN(5,COUNT(E1:I1))))

この回答への補足

ご回答ありがとうございます。
列の最後がIVなので、
A1=MAX(OFFSET(E1,,COUNT(E1:IV1)-1,,-MIN(5,COUNT(E1:I1))))
として使用します。
追加でお伺いしたいのですが、
直近5個のデータを直近X個(10・20・・・)と変更したい場合、
「5」と「I1」を変更しますよね。この「I1」を変更させずに?、
うまく出来る方法はありませんか?
よろしくお願いします。

補足日時:2008/02/18 21:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!