- ベストアンサー
特定の数列の最大・最小値を求める方法とExcelのエラー処理
- 特定の数列の最大値と最小値を求める方法やExcelのエラー処理について解説します。
- 添付図を参考にしながら、各行の正数の最小値と最大値を列Hと列Iに求める方法について教えてください。
- Excel 2002や2013を使用している場合でも、適切な数式を使って列H、列I、列R、列Sに数式を入力する方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
いずれも解となる数値は必ず存在する前提で。 H2:単純にゼロの次 =SMALL(A2:G2,COUNTIF(A2:G2,"<1")+1) I2:最大 =MAX(A2:G2) R2,S2:ごくシンプルな配列数式で =MIN(IF(ISNUMBER(K2:Q2),K2:Q2)) =MAX(IF(ISNUMBER(K2:Q2),K2:Q2)) いずれもCtrl+Shift+Enter #類似形 H2: =MIN(IF(A2:G2>0,A2:G2)) Ctrl+Shift+enter
その他の回答 (3)
- bunjii
- ベストアンサー率43% (3589/8249)
元データをMIN関数の括弧内で前処理して範囲内の有効な値より大きな値に置き換えれば目的の最小値を得られます。 MIN関数の括弧内は以下の数式で前加工します。 (A2:G2=0)*(MAX(A2:G2)+1)+A2:G2 但し、この数式は配列値を返すので、そのまま使用するときはCtrl+Shift+Enterキーで確定する必要があります。 I2=MIN((A2:G2=0)*(MAX(A2:G2)+1)+A2:G2) → MIN({1,2,3,4,5,6,7}) → 1 I3=MIN((A3:G3=0)*(MAX(A3:G3)+1)+A3:G3) → MIN({1,2,3,4,4,4,4}) → 1 数式の確定をEnterキーのみで確定するには次のような手法があります。 I2=MIN(INDEX((A2:G2=0)*(MAX(A2:G2)+1)+(A2:G2),0)) I2=SUMPRODUCT(MIN((A2:G2=0)*(MAX(A2:G2)+1)+A2:G2)) 右図の#DIV/0!エラーのセルはそのセルの数式を修正して""に置き換えてください。
お礼
勉強になりました。 ありがとうございました。
- mshr1962
- ベストアンサー率39% (7417/18945)
EXCEL2013ならIFERROR関数があるので H,R列(最小値)なら =MIN(IFERROR(A2:G2*A2:G2/A2:G2,10)) で配列数式(Ctrl+Shift+Enterで確定) I,S列(最大値)なら =MAX(IFERROR(A2:G2,0)) で配列数式(Ctrl+Shift+Enterで確定)
お礼
お見事!勉強になりました。 ありがとうございました。
ifで0の場合は空白にすればエラーでなくて正常にカウントされるのでは。
補足
それで、「列H、I、R、Sに入力すべき数式」はどうなります?
お礼
本当にシンプル! ありがとうございました。