• ベストアンサー

エクセルで特定のマイナス値を除く最大値と最小値について

エクセルで、ある特定の値(-99999)を除く最大値と最小値を =MAX(IF(A1:A10<>-99999,A1:A10,"")) =MIN(IF(A1:A10<>-99999,A1:A10,"")) の配列数式を使って求めました。 ただ、A1:A10がすべて-99999の場合、0がかえってきてしまいます。 この場合、-99999と表示するにはどのようにすればよいのでしょうか? 1つの式で、上記2つの処理をするにはどのようにすればよいのでしょうか?

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

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.2

修行中の身なので『指導』は勘弁してください。:D >最大値は-99999以外の値がすべてマイナス値の場合に0がかえってきてしまいます。 提示の式 >=MAX(IF(A1:A10<>-99999,A1:A10,"")) これでも同じですよね? なので空白セルはないと判断しました。 あるなら、ベタですが =IF(AND(A1:A10=-99999),-99999,MAX(IF(A1:A10<>-99999,IF(A1:A10<>"",A1:A10,"")))) の配列数式で。 #他の方の案もお待ちになられたほうが良いかもしれません。

sanabonn
質問者

お礼

ありがとうございます!できましたm--m。空白セルはありません。本当に助かりました。感謝いたします。

その他の回答 (1)

  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

素直に =IF(AND(A1:A10=-99999),-99999,MAX(A1:A10*(A1:A10<>-99999))) の配列数式では?

sanabonn
質問者

お礼

ありがとうございます。教えていただきました式を使いますと、すべて-99999の場合には-99999と表示されましたが、最小値、-99999以外の値がすべてプラス値の場合に0がかえってきてしまい、-99999以外の値を求めることができません。 また、最大値は-99999以外の値がすべてマイナス値の場合に0がかえってきてしまいます。 よろしければ、ご指導お願いいたします。

関連するQ&A

  • エクセル又はOpenOfficeで条件付き最小値を

    エクセル又はOpenOffice.orgで条件付きの最小値を抽出する数式 当方OpenOffice.orgのCalc使用です。 関数も勉強し始めたばかりで、まだまだ理解しきれていませんが、宜しくお願いいたします。 下記の条件で最小値を出す数式を色々調べては試しているのですが、中々うまくいかないので質問させて下さい。   A(所要時間)  B 1  01:00:00    04.5 2  00:30:00    20.5 3  02:10:00   -10.0 4  01:40:00    07.5 5  00:25:00   -05.0 6  00:45:00    13.5 7  00:15:00   -03.5 8  01:05:00    18.0 上記表からB列の値がプラス(つまり0以上)の中の最大所要時間(この場合01:40:00)と最小所要時間(00:30:00)、 B列の値がマイナス(0以下)の中の最大所要時間(02:10:00)と最小所要時間(00:15:00)をそれぞれ求めたいと思っています。 最大所要時間は「=SUMPRODUCT(MAX((B4:B100>=0)*A4:A100))」で求められましたが、MINではダメでした。 SMALLを使うのかもと思い調べてみましたが、だんだん混乱してしまって・・・ 似たような質問はたくさん見つかりましたが、配列数式を使用するものばかりでした。 Calcは配列数式に制限があり、IFやINDEXが含まれる配列数式は使えないらしく、苦労しています。 DMIN関数も考えましたが、条件を割り当てるために不要なセルを作成しなければならないので、避けたいと思いまして。 最小時間が求まれば完成という段階なので、できれば数式で対応したいです。 色々と制約があって申し訳ないのですが、お知恵をお貸しいただけると助かります。 よろしくお願いいたします。

  • 最大値、最小値の求め方

    たびたびすみません。 A列 B列 あ  1 え 2 い 4 あ 0 い 0 あ 2 か 3 上記の列から"あ"以外の0を除いた最小値を求めたく MIN(IF(OR(A1:A7="あ",B1:B6<>0),"",B1:B6)) で数式配列にしたのですが、 うまくいきません。 単純なことの様な気するのですが、 ご指摘いただけないでしょうか?

  • 最大値MAXを、最小値MINと(ABS?)で作りたい。

    最大値MAXを、最小値MINと(ABS?)で式を作りたい。 下記のデータのときに、 L123>0のとき  MAX(L123:L147)  最大値は1.181787 L123<0のとき  MIN((L123:L147)) 最小値は-2.725490です。 そこで、質問です。 下記のようにMINとABSを使い擬似最大値の式を作りました。 =MIN(ABS(L123:L147)) 擬似最大値は0.029886の結果を出したいのです。 しかし、「=MIN(ABS(L123:L147))」では「0.368062 」となります。 これはABS(L123)の値です。 上記「MINとABSの擬似最大値は0.029886」 となる式を教えてください。 (L123からL147のデータは下記のとおりです。 上記「MINとABSの擬似最大値は0.029886」 となる式を教えてください。) -0.368062 ,0.207454 ,0.085564 ,0.432480 ,1.099316 ,0.971129 ,1.181787,0.815206 ,1.118215 ,0.494807 ,0.602503 ,0.550321 ,0.029886 ,0.081306 ,-0.792841 ,-0.606078 ,-0.194655 ,-0.164800 ,-0.673720 ,-1.137632 ,-0.852141 ,-0.951941 ,-2.333839 ,-2.469809 ,-2.725490

  • 配列数式を用いて、最小値を表示させたい

    配列数式について教えてください。 先回、こちらで質問させていただいて、なんとか理解できつつあります。回答していただきました方、どうもありがとうございました。 一応の理解はできたのですが、応用しようとしたところ、うまく数値が表示されてこないため、再度質問させていただきたいと思います。どうかよろしくお願いいたします。 表を添付いたしましたが、1月2日から4日までで、時間ごとにその最大値と最小値が表示されています。 今回、1月2日に合致したデータで、配列数式を用いて、その最大値と最小値を表示させようとしました。 その結果、最大値はちゃんと表示されるにも関わらず、最小値の値が「0」の表示となってしまいます。 最大値の式は MAX((A2:A10="1月2日"*1)*C2:C10) 最小値の式は MIN((A2:A10="1月2日"*1)*D2:D10) としています。 どこがまちがっているのでしょうか? ご教授、よろしくお願いいたしますm(_ _)m

  • excelで決まった間隔の最大最小を求める

    excelで縦に1分おきのデータが並んでいます。 これを100行ずつくくってその範囲の最大、最小を求め 以後それを繰り返し行いたいのですが方法がわかりません。 =MIN(A1:A100) でそれ以降を=MIN(A1+100:A100+100)の ような感じにはいかないのでしょうか? いい方法があれば教えて下さい。 例)1日100個のデータがあります。その中からMIN/MAXを選んで 以降毎日のMIN/MAXのデータのみを抽出してグラフ化したい。

  • エクセル2003 最大最小値の求め方

    価格の推移を1週間単位で調べています。 ある商品のA社、B社、C社、・・・を比較して 最大値と最小値を調査する表を作成しています。 イメージ的には下記のような形の表になります。    1W  /  2W  / 3W  /4W A  1000円/1500円/    /1200円 B C D  1800円/ ・ ・ ・ 最大値1800円/1500円/   /1200円 最小値1000円/ 最大値には  =MAX(A1:A5) 最大値には =IF(SUM(A1:A5),SMALL(A1:A5,1+COUNTIF(A1:A5,0)),"") と入力したのですが、1社しか価格の回答がなかった場合 最大価格も最小価格も同じ価格になってしまします。 最大=最小となった場合、最小価格欄を空欄で表示する 数式を教えてください。 どなたか、ご教示お願いいたします。 エクセル2003を利用しています。

  • エクセルで最小値から0を除く方法

    早速ですが、エクセル入力したデータから最大値と最小値を求めようとしています。 最大値は=MAX(A1:A100)で求められるのですが、最小値には0が入っていると=MIN(A1*A100)では0となってしまいます。 0以外で最小値を求めたいのですが、どのように設定すればよいでしょうか? どなたかご教授いただけると助かります。

  • 最大値最小値に色付けする。

    エクセル2013で縦に月を横に時間の項目をとりたデータがあります。 対象データを範囲指定し列ごとに最大値、最小値にセルに色付けをする方法は無いでしょうか。 ちなみに行毎に色づけするのは 最大値は=A1=MAX(INDIRECT("A"&ROW(A1)&":F"&ROW(A1))) 最小値=A1=MIN(INDIRECT("A"&ROW(A1)&":F"&ROW(A2))) で出来るのですが、列毎に表示するにはどのような関数を使えば出来るのでしょうか。 また、条件付き書式設定で=b2=max(b2:b13)の数式を入れて隣にコピーするときに絶対値になっており範囲指定しなおす必要があるので表を範囲指定し数式を入れたい。

  • 特定の数列の最大、最小値を求める

    添付図左をご覧ください。 列A~Gの各行に2桁以下(差し当たり、1桁と考えてOKです)の正整数が埋め込まれています。 右方が空白セルの場合もあります。 左方に空白セルはないが、0 が複数連続する場合もあります。 左から右へ、正数が現れたらそこから必ず(間隔が1以上の)昇順に1回以上続きます。 そこで、各行の正数の最小値と最大値をそれぞれ列H、Iに求めたいのです。 セル I2 は =MAX(A2:G2) で問題ないが、セル H2 以下の式が思い付きません。 添付図右は、同左の 0 のセルが #DIV/0! のエラー表示になっています。 此方の場合の セル R3、S3 以降の適切な数式が出来なくて困っています。 必要なら配列数式も歓迎なので、列H、I、R、Sに入力すべき数式を教えてください ちなみに、Excel 2002、2013 を、私は使用しています。

  • 最大値と最小値の求め方

    以下はコマンドライン引数で任意の数の整数を受け取って、合計・平均・最大・最小を求めようとしたソースです。 しかし、実行したら最大値と最小値が正しく出ませんでした。 if文が間違っているのかもしれないと思ったのですが、はっきりと『ここが間違っている』という場所が分かりません。 どうかご指摘お願いします。 class Choco { public static void main (String[] args) { int i; int sum = 0; int max; int min; for ( i=0; i<args.length; i++) sum += Integer.parseInt(args[i]); double ave = sum/args.length; max = args.length; min = args.length; if (args.length>max){ max = args.length; } if (args.length<min){ min = args.length; } System.out.println("合計は" + sum + "です。"); System.out.println("平均は" + ave + "です。"); System.out.println("最大値は" + max + "です。"); System.out.println("最小値は" + min + "です。"); } }

    • ベストアンサー
    • Java

専門家に質問してみよう