- 締切済み
条件を満たす行の、特定の列における最小値
以下のようなスプレッドシート(Excel)があります。 [A列] [B列] [C列] [D列] [E列] [1行]資材コード メーカー 単価 平均 最安 [2行]T1111 A 311 [3行]T1211 A 411 [4行]T1311 A 311 [5行]T1111 B 299 [6行]T1211 B 500 [7行]T1311 B 312 [8行]T1111 C 300 [9行]T1211 C 280 [10行]T1311 C 400 D列(D2~D10)には、 同じ資材コードの単価の平均が入ります。 これは、 SUMIF(A$2:A$10,A*,C$2:C$10)/COUNTIF(A$2:A$10,A*) (*には当該行番号が入る。) で、表現できました。 次にE列(E2~E10)には 同じ資材コードのもののうち、 最安となる単価を表示させたいのですが、 どう関数を組み合わせるのが、スマートなのかわかりません。 たとえば、E2セル、E7セル、E11セルは 資材コードT1111になっている行のうち、 単価(C列)が最低となる時の値を表示するようにしたいので、 C2セル=311、C7セル=312、C8セル=800のうち、最低である311が E2セル=311、E7セル=311、E8セル=311 にそれぞれ表示されるようにしたいのです。 わかりにくい説明で申し訳ありませんが、 疑義があれば、適宜補足しますので、指摘してください。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mu2011
- ベストアンサー率38% (1910/4994)
例示が曖昧ですが次の方法は如何でしょうか。 E2=MIN(IF($A$2:$A$10=A2,$C$2:$C$10,99999))で、入力完了時にshift+ctrl+enterキーを同時押下、下方向にコピー
- maron--5
- ベストアンサー率36% (321/877)
E2=MIN(IF($A$2:$A$10=A2,$C$2:$C$10)) ★この式は「配列数式」です ★式を入力後、Shift+Ctrl+Enter を押して、式を確定させてください ★式が確定すると式の両端に、{ }がつきます ★式を確定後下にコピー