• 締切済み

連続しないセルから最小値を引き出すが、ゼロを除外

3つおきにセルを拾い(20セル)それから最小値を引き出すのですが、min関数では、ゼロを拾ってしまいますし、small関数では、連続しないセルは対応しないようです。 お知恵をお願いします。

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.2です。 (1)先に書かなかった私も悪いのですが、「列方向に、かつ途中(セルc3)から横に飛んでいきます。 (2)まあ、多分大丈夫かとおもうのですが。 (3)普通のEnterとCtrl+Shift+Enterは何が違うのでしょうか。 まず(1)について ↓の画像のような配置だとします。 (2)について まったく大丈夫ではないと思います。 数式そのものが変わってしまいます。 (3)について 文章で説明するより「配列数式」で検索すれば山ほど説明がでてきます。 簡単にいえば、普通は各行(各列)バラバラに計算したものをさらに別の計算(足し算・掛け算等々)をする! といったような操作を一塊に格納して一気に計算してしまおう!という方法です。 さて本題ですが、 ↓の画像(今回は20列分だけとしました)でA3セルに =MIN(IF((MOD(COLUMN(C3:V3),3)=0)*(C3:V3<>0),C3:V3)) 今回も配列数式ですので、Ctrl+Shift+Enterで確定します。 この画面からコピー&ペーストする場合は 上記数式をドラッグ&コピー → A3セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Ctrl+Shiftキーを押しながらEnterキーで確定! これで画像のような感じになります。m(_ _)m

gategardens
質問者

お礼

返信遅くなりすみません。 バタバタしてて中々時間がなかったのと、実は、更に項目数が増え、5つおきの場合も必要となり、おうようして、とやったのですが、何故か正しいデータを拾えない状況になってしまい、頭を痛めてた所です。 間に挟むセル、桁数が、2増えたらMOD(COLUMN(C3:v3),3)の部分をMOD(COLUMN(C3:v3),5)にすれば良いのではないのですか? と、考えたのですが、うまく行きません。 なぜなんだろうと頭を捻っております。 また、スレッドを立てるかも知れません。 その際はよろしくお願いします。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! >3つおきにセルを拾い(20セル) ↓の黄色いセルの中で最小値という解釈です。 画像ではC1セルに =MIN(IF((MOD(ROW(A1:A60),3)=1)*(A1:A60<>0),A1:A60)) これは配列数式になりますので、Ctrl+Shift+Enterで確定! 「3つおき」が画像でいうと1・4・7・・・の解釈が違って 1・5・9・・・というコトであれば 数式を =MIN(IF((MOD(ROW(A1:A60),4)=1)*(A1:A60<>0),A1:A60)) にしてみてください。 ※ 実際の表のレイアウトが判らないので、1行目からのデータにしていますが、 データの配置により数式の >ROW(A1:A60) 部分を変更する必要があります。m(_ _)m

gategardens
質問者

お礼

早速のご回答有難うございます。 先の方とはMODの中が少し違いますね。 先に書かなかった私も悪いのですが、「列方向に、かつ途中(セルc3)から横に飛んでいきます。 まあ、多分大丈夫かとおもうのですが。 もし疑問が出たらまたここに書きますのでよろしくお願いします。 ちなみに。 普通のEnterとCtrl+Shift+Enterは何が違うのでしょうか。 配列数式?というのも良く知りませんので・・・すみません無学で。 とりあえず頑張ってみます。 有難うございました。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

=MIN(IF((MOD(ROW(A1:A20),3)=0)*(A1:A20<>0),A1:A20,"")) 【重要】Ctrl+Shift+Enter で決定する。 A1:A20(対象範囲)と=0(行数を3で割った余り、=0だと3、6、9行目などが拾われる)を適時変更してください。

gategardens
質問者

お礼

素早い回答ありがとうございます。 早速試してみます。 ちなみに、行ではなく、列方向に参照しますが、要は参照範囲が変わるだけで問題はないですよね? 「MOD(ROW(A1:A20),3)」の3とは3つおきという意味ですか?いや、範囲で「3で割る」?という意味でしょうか。 無学でスミマセン。 ここまで複雑な関数式だと、理解が難しいもので。 とりあえず、表に当てはめてみます。 ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル 最小値を求める関数について

    複数シートの集計で串刺し集計を使っています。 最大値は =MAX('1:31'!G57) で求められるのですが、0以上の最小値を求める関数(SMALL,またはMIN)を使ってもうまくいきません。 0以上の最小値を求める関数を教えてください。よろしくお願いします。

  • EXCELで行内最小値を検索し、その最小値の入っているセルの同じ列の"1"行の値を返したいのですが。。。

    EXCELに疎いので、わかる方がいたら教えてください。 行いたいことは以下の通りです。 1: EXCELの各行で最小値を検索します。    (値自体はMIN関数で検索できるのですが。。。) 2: 各行において、その最小値の入っているセルの一つ上のセルの値を   返す。 わかりにくいと思うので、例をのせておきます。 *|ABCDEF ----------- 1|*35478 2|*41269 3|*75926 4|*24653 5|*31428 (*は空欄を表します。) という行列があったときに、2行め以降に対し、最小値を検索(2行目であれば、1)し、 そのセルの1行目の値(2行目であれば、"1C"の値である5)を返すということを行いたいのです。。。 上の行列を例にすると以下のようなA列の値を返したいのですが。 *|ABCDEF ----------- 1|*35478 2|541269 3|775926 4|324653 5|531428 (*は空欄を表します。) 別のシートを利用するなど、複雑な方法になってしまっても良いので、 何か知恵のある方がいらっしゃいましたら、よろしくお願い致します。

  • 最小値の隣のセルの表示

    下記のようなエクセルの表があります。   A     B       C       D   E   F      G          H   I   J  ・・・ 会社名 更新年数 更新日(年号) (年) (月) (日) a前回更新日(年号) (年) (月) (日)・・・ ○○○    2      平成     23   8   31     平成        21   8   31 △△△    3      平成     24   7   30     平成        21   7   30 少し見にくくて申し訳ないのですが、この表は会社毎に個人の更新日を管理する為の表で、G~Jにはaさんの前回の更新日が入力されています。 管理する方が1社に複数いらっしゃるので、行を会社にして、個人は列を使ってK以降にもbさん、cさんの前回の更新日がaさんと同じく4つのセルを使って入力されています。 今回やりたいのは、各前回の更新日の中で、一番早い更新日をC~Fに表示させたいと思っています。 一番早い更新日は、MIN関数で各「年」の入ったセルの中から最小値を表示させることができましたが、その隣の「月」と「日」はMIN関数で出した最小値の「年」の「月」と「日」を表示させることができません。 VLOOKUP関数でやってみたのですが、MIN関数で出した最小値が検索範囲の中の一番左にあった場合はうまく表示できるのですが、それ以外の時はエラーになってしまいます。 どなたかお知恵をお貸しいただけないでしょうか。 宜しくお願いします。

  • officeのexcelにて最小値の計算

    officeのexcelにて最小値の計算 ある行についての最小値を出したいのですが、 その行には空白のセルがある場合があります。 この行でMIN関数を使用すると、空白のセルを"0"として計算してしまいます。 空白のセルを無視して、「数値が入力されているセルの内、最小値」を出したいのですが、 どうすればできるでしょうか。

  • 最小値のセルの色

    エクセル関数で、列の中の最小値のセルに色をつける、という ものはできるでしょうか?

  • Excilで最小値を求めるとき

    Windows10 です。満80歳の後期高齢者です。幼稚なことですがお教えください。  エクセルで、何とか統計資料の最小値を求めることができました。  式は;  =MIN(C8,C13,C18,C23,C28,C33,C38)です。 実際の式はもっと長いです。  しかし、当然かもしれませんが、セルに「0」があるとき、「0」が求められます。  そこで、「0」を求めなくしたいのですが、いろいろ調べましたができません。  「0以外の最小値」を求める関数式をお教えください。

  • エクセル又は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関数も考えましたが、条件を割り当てるために不要なセルを作成しなければならないので、避けたいと思いまして。 最小時間が求まれば完成という段階なので、できれば数式で対応したいです。 色々と制約があって申し訳ないのですが、お知恵をお貸しいただけると助かります。 よろしくお願いいたします。

  • 参照セル間の最小値を求めたい

    エクセルで見積比較するため、下記の方法で最小値を求めてみました。 W2=MIN(B2,E2,H2,K2,N2,Q2,T2) (B2,E2,H2,K2,N2,Q2,T2)はVLOOKUPで別シートから参照した数値です。 比較するセルに空欄があるとW2の最小値が空欄になる場合があります。 空欄があっても1以上の数値の中から最小値を求める対処法を教えて下さい。 よろしくお願いします。

  • 《エクセル2000》配列数式とMIN関数を使い、最小値を出したいのですが

    いつもお世話になっております。 配列数式とMIN関数を使って最小値を出す作業をしていますが、最小値は0.3なのに0.0と返って来てしまいます。 条件は「A列が1で、B列が数字だったら」なのですが、B列には空白も入っています。 B列の空白のセルは、ISNUMBER関数でチェックするとFALSEが返ってくるのですが、もしや空白を0とみなしているのでしょうか。 COUNTIFのMIN版と言いますか、条件つきで最小値を出せる関数があればいいのですが…原因と対策をご存じの方、どうかご教示を。

  • エクセルの最小値の計算

    御世話様です。 エクセルで最小値の計算をしたいのですがMINを使うと空白やゼロを拾ってしまいます。空白やゼロのセルを拾わないようにするにはどうしたらいいのでしょうか?

このQ&Aのポイント
  • 現在使用中のノートパソコンの容量が合計57GBと少なく感じる方へ、容量を効果的に減らす方法をご紹介します。
  • ノートパソコンの「システムと予約済み」や「アプリと機能」の使用容量を確認し、不要なデータを削除することが必要です。
  • 特に「他のユーザー」という項目で29GBも使用されている場合は、他のユーザーのデータを削除することで容量を確保することができます。
回答を見る

専門家に質問してみよう