• ベストアンサー

最小値(最大値)を探す

nishi6の回答

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.6

補足について、VBA部分を追記、変更してみました。 まだ主旨が理解できていないと思います。日付とデータはそれぞれで最大値・最小値を求めています。 個人的には、数値の最大値・最小値に対応する日付が必要?とも思いますが、補足に『日付も同じようするには・・・』とあるので、日付とデータは無関係に最大値・最小値を求めています。違っていれば補足して下さい。 ※日付、データの範囲には一ヶ月単位くらいで入力し、過去の最大値・最小値を表示している雰囲気でしょうか。 Private Sub Worksheet_Change(ByVal Target As Range)   Dim chkAreaAll As Range '最小値、最大値を調べる範囲(全部)   Dim chkAreaDay As Range '最小値、最大値を調べる範囲(日付)   Dim chkAreaNum As Range '最小値、最大値を調べる範囲(数値)   Set chkAreaDay = Union(Range("A2:A16"), Range("C3:C20"))   Set chkAreaNum = Union(Range("B2:B16"), Range("D3:D20"))   Set chkAreaAll = Union(chkAreaDay, chkAreaNum)   On Error GoTo ErrorHandler   Application.EnableEvents = False '再度イベントが発生するのを止める   '最小値、最大値を調べる   If Not Intersect(Target, chkAreaAll) Is Nothing Then     '日付     Range("E5") = Application.Min(chkAreaDay, Range("E5"))     Range("E7") = Application.Max(chkAreaDay, Range("E7"))     '数値     Range("F5") = Application.Min(chkAreaNum, Range("F5"))     Range("F7") = Application.Max(chkAreaNum, Range("F7"))   End If   Application.EnableEvents = True   Exit Sub ErrorHandler:   Application.EnableEvents = True End Sub

kkazumi
質問者

補足

日付についてお願いします。日付は、最小値(最大値)の日付をそのまま表示するようにお願いします。つまり、最小値(最大値)データーの左側の日付をそのままE5(E7)にコピーします。また、A2~D20までのデーターが変わってもF5とF7のデーターが更新しない限りE5とE7もそのままの状態です。F5とF7が更新した時は、E5とE7の日付はF5とF7の左側の日付に更新します。 例、E5=5/1・F5=123その時データーA2~D20までの中で最小値が103で、103のデーターの左側の日付が5/12その時セルE5=5/12・セルE7=103とするには よろしくお願いします。

関連するQ&A

  • エクセルVBAで関数が入った空白セルの取得

    エクセルVBAで下記のようなセルの参照をしたいのですが、よろしくお願いします。(エクセル2002です)   A  B  C  D  E  F 1 78 80 セル(A1)(B1)には値も関数も入れられています。 セル(C1)(D1)(E1)には値は入っていませんが、ワークシート関数が組み込まれており空白となっています。(関数の""にて空白) セル(F1)には何も入力されていません。 今回はセル(B1)の80の値を取得できるようにVBAで下記のようにコードを組みました。 Range("F1").End(elToLeft).Activate そうすると、セル(E1)に関数があるために(?)(E1)がアクティブな状態となります。 関数が入力されていても空白として(B1)をアクティブな状態にするために良い方法はありますでしょうか? 誠に申し訳ございませんが、よろしくお願いします。

  • エクセルで一致する値のタイトルを取得

    初歩的な質問ですみません。探しましたが見つかりませんでした。 B3の値を用いて 範囲D3:F6の値で比較。 一致する数値がある列の一番上の文字列を取得したいのですが この場合は,D3に値があるので,D2の「松」という値をどこか任意のセル(B2)に返します (実際はもっと大きなデータでB3に対応する値も複数,でもこれは一つ関数をつくってちょっといじればいいのかと思っています(^_^;) エクセル得意な方お願いします!

  • Excel VBAで組んだ自作関数が認識されない

    お世話になります。お教えください。 Excel2000や2003において、自作関数を作成。 (B(C3,D2,E2,F2,F3,$E$6,$E$7,$I$5)-A(C4,D4,E4,F4,$E$6,$E$7,$I$5)のように、セルの数値を読み込み、ある計算を2回(A関数とB関数)させ 最後に差を求める。) 計算させると値が出るのですが、VBAを盛り込んだExcelファイルを保存させるとエラーを表示します。("=VALUE"?などと出る) 自作関数のセル位置でEnterを押すと再認識して値が出るのですが・・・。 対処法をご存知の方がいらっしゃったらお教えください。 お願いします。

  • セル内で変化する値の最大値、最小値を抜きだす。

     初めまして、よろしくお願いします。  セル内でランダムに変化させる値の最大値と最小値を抜き出すマクロを教えていただきたいと思います。  セルD10からD20まで、セルおのおのランダムに変化させていきます。そのセルごとで、表示された最大値の値をF10からF20に、最小値をH10からH20へ抜き出していきたいと思います。 セルが変化した場合に実行する Private Sub Worksheet_Change(ByVal Target As Range) を使用し、FやHの数値と比べて、最大値、最小値の条件が合えばコピーして抜き出すやり方だと思います。他のやり方が有れば、他の方法でもかまいません。  他のセルには他のデーターが入っています。  当方初心者ですので、応用が利くように説明していただければありがたいと思います。(おのおの変化するセルがD10からD30へ範囲の拡大した場合の説明。位置がD列からE列、F列列からG列、H列からJ列へと変化した場合の説明、セルD10からD20まで、D列ですが、ランダムに変化するセルがI10からR10の行へ、同様に抜き出す最大値がI15からR15行へ、最小値がI18からR18へ、列から行へ、変化できるような説明)  解る方、よろしくお願いします。

  • エクセルで、ある範囲のセルのうち、5以上の値で最小の値を求めたい

    エクセルで、ある範囲のセルのうち、5以上の値で最小の値を求めたいです。 1 3 2 6 9 0 4 ならば、 6が答え。 関数が無ければ、VBAで作った関数でも構いません。 また、VBAで範囲指定と条件指定が引数となる方法も知りたいです。

  • 最大値と最小値を自動記録したい

    DDE通信によりリアルタイムの株価データを取得し、 エクセルに株価を表示できる状態になっています。 (株価が変動すると自動的にセルの値が変わる) これを使い2銘柄間の差をあるセルに表示しているのですが、 1日の中における差の最大値と最小値を他のセルに記録し、 値が更新されるのに伴い随時置き換えたいと思っています。 例) 日立280円 東芝260円 の場合は2銘柄間の差は20円。 この値が変化して最大値(最小値)を更新したら置き換え。 それ以外はそれまでの最大値(最小値)の値をセルに保持する、 という感じで記録していきたいのですが実現可能でしょうか? (イメージ) (A1セル=2銘柄間の差) (B1セル=最大値) (C1セル=最小値) A1セルの値の変化 20(B1セルもC1セルも20) 23(B1セルを23に更新) 25(B1セルを25に更新) 22 21 15(C1セルを15に更新) 18 24 26(B1セルを26に更新) 20 当方の環境は エクセル2000 OSはwinXP DDE通信は楽天証券のリアルタイムスプレッドシート を使用しています。 これがエクセルで可能なのかどうかもわからないのですが、 もし方法をおわかりの方がいましたらよろしくお願い致します。

  • エクセル関数について

    下記のエクセルデータでDのセルにBの値反映させ、もし空欄(例えばD3)だったら上のセル(例えばD2)の値を反映させる事ができますか?なにか関数でいい方法があれば教えていただけないでしょうか。    A   B   C   D 1  日   数   名   数a 2  2/20  1   りんご  3  2/20      みかん 4  2/21  3   りんご  5  2/21      みかん

  • 二次関数の最大値と最小値についてです

    高校二年生なのですが、この問題が解けず、苦戦しています。力を貸してください 二次関数f(x)=x2乗-2ax+b(a,bは定数、a>0)があり、f(x)の最小値は2である。 0≦x≦2におけるf(x)の最大値と最小値の差が3であるようなaの値をお願いします

  • エクセルの関数について。

    エクセルの関数について。 Excel2007を使用しております。 次のことが関数で出来るかどうか教えていただきたいのですが、 現在、Sheet1内にてD4:D500まで縦の範囲にてA~Jまでの入力規制セットした半角英字が途中までランダムに入力されておりまた新たに入力予定です。 上記範囲で半角英字を入力された時点でセルJ3がその入力された英字と同じ値になることをしたいと思っております。例えばD100にBと入力したらセルJ3の値もそれと同値に、その後D350にFと入力したらその時点でJ3もF値に、またその後D75にA入力したらセルJ3もA値にといった入力を順不同ランダムに行うことによってセルJ3もランダムに値変更出来る仕組みにしたいと思っております。 結果としてセルJ3の値はD4:D500範囲にて最後(最新)に入力された値と同じ値が入っている状態になっていればMUSTなのですが、これを関数で実現するにはどうやったらよろしいでしょうか? また関数で不可であれば他に方法があればどうかお教え頂けると幸いでございます。 どうぞよろしくお願い申し上げます。

  • 最小値と最大値

    二次関数y=ax^2+2ax+b(-2≦x≦1)の最大値が6、最小値が3であるように定数a,bの値をもとめよ 二次関数y=ax^2-4x+a+1の最大値が1であるような定数aの値を求めよ 以上の2問がとけずにこまってます。 1問目はy=a(x+1)^2-a+b に変形はできるのですが、この後どうすればいいのかわかりません、 また、2問目にいたってはどこをどうすれば平方完成できるのかもわかりません どなたかおしえてください よろしくおねがいいたします