- ベストアンサー
Excel2003 エクセル ある行の範囲内で最小値の列の特定のセルの
Excel2003 エクセル ある行の範囲内で最小値の列の特定のセルの文字を返す方法 Excelで関数を使ってセルの作成方法を教えていただけませんか? 国語 算数 理科 90 85 80 の場合80点が最小値ですので、あるセルに理科と表現したいのです。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
一例です。 仮にデータがA1:C2範囲としています。 =INDEX($A$1:$C$1,,MATCH(MIN($A2:$C2),$A2:$C2,0))
その他の回答 (4)
- don9don9
- ベストアンサー率47% (299/624)
No.3です。 エラーの回避は入れていませんので、A2,B2,C2の点数が全部未入力の場合 G2は#N/Aになるはずですが、その場合はH2も同じく#N/Aになるはずです。 #VALUE!になるということは、参照セルを間違えているのではないでしょうか。 H2の式はすぐ隣のG2を参照しています。C2と間違えていませんか?
お礼
大変ありがとうございました。 入力間違いのようです。
- mu2011
- ベストアンサー率38% (1910/4994)
NO1です。 最低点をすべて抽出する場合、配列数式を利用した特殊な方法ですが、参考まで A:C列にデータがあるとして、F:H列に科目名を抽出します。 F2に以下の数式を入力し、入力完了時にcrtl+shift+enterキーを同時押下、縦横に必要分コピー して下さい。 =IF(COUNTIF($A2:$C2,MIN($A2:$C2))>=COLUMN(A1),INDEX($A$1:$C$1,SMALL(IF($A2:$C2=MIN($A2:$C2),COLUMN($A1:$C1),999),COLUMN(A1))),"")
お礼
ありがとうございました。
- don9don9
- ベストアンサー率47% (299/624)
>同じ点数を取っている全てを表現したいです。 Excelの検索関数(MATCHなど)は、検索条件に一致したデータが 複数存在する場合、最初に当たったものを返します。 つまり、検索範囲が横方向なら左、縦方向なら上にあるものが優先されます。 (No.1さんの回答の場合、3科目とも同じ点なら一番左の「国語」を返すと思います) ですので該当する科目を全部表示、となるとかなり面倒です。 もっと良い方法があるかもしれませんがとりあえず考えてみます。 A1からC1に「国語」「算数」「理科」 A2からC2に各科目の点数が入っているとします。 D2に、最低点を取った科目を表示したいとします。 作業列をたくさん使いますが E2に =MIN(A2:C2) F2に =COUNTIF(A2:C2,E2) G2に =MATCH(E2,A2:C2,FALSE) H2に =INDEX($A$1:$C$1,G2) I,J,K,L列は、最低点を取っている科目が2科目以上ある場合のみ値が入ります。 I2に =IF(F2<2,"",G2) J2に =IF(F2<2,"",ADDRESS(ROW(),G2+1)) K2に =IF(F2<2,"",MATCH(E2,INDIRECT(J2&":C"&ROW()),FALSE)+G2) L2に =IF(F2<2,"",INDEX($A$1:$C$1,K2)) M,N,O,P列は、最低点を取っている科目が3科目の場合のみ値が入ります。 M2に =IF(F2<3,"",K2) N2に =IF(F2<3,"",ADDRESS(ROW(),M2+1)) O2に =IF(F2<3,"",MATCH(E2,INDIRECT(N2&":C"&ROW()),FALSE)+M2) P2に =IF(F2<3,"",INDEX($A$1:$C$1,O2)) ここまで入力した上で、D2に =H2&L2&P2 としてください。
補足
以上入力しましたが、結果が表現されずに G2に#N/A H2に#VALUE ! が入りました。 私の入力間違いでしょうか?
- don9don9
- ベストアンサー率47% (299/624)
複数科目で同じ点数を取っている場合はどうしますか? 例えば国語80点、算数85点、理科80点のような場合は?
補足
同じ点数を取っている全てを表現したいです。 よろしくお願いします。
お礼
ありがとうございました。 解決いたしました。