• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで2行あきのデータの最小値を抽出したいです)

Excelで2行あきのデータの最小値を抽出する方法

このQ&Aのポイント
  • エクセル2007を使って、2行あきのデータの最小金額と、その最小値の品物を表示させたい方法を教えてください。
  • 品物購入シートと最小値抽出シートの2つのシートがあり、品物購入シートの2行おきの最小値を最小値抽出シートに表示したいと思っています。
  • INDEXやMATCH関数を使ってみましたが、エラーが出てしまいました。詳しい方に教えていただけると幸いです。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

「2行おき」のように不確定な計算ではなく,しっかり品目名をキーにして集計してみます。 手順: 抽出シートのB2,B3,B4にそれぞれ「合板」「ペンキ」「ねじ」を記入します。 A2には =MIN(IF(購入!B:B=B2,購入!A:A)) と記入し,コントロールキーとシフトキーを押しながらEnterします C2には =MIN(IF((購入!A:A=A2)*(購入!B:B=B2),購入!C:C)) と記入し,コントロールキーとシフトキーを押しながらEnterします 日付の書式を施し,下向けにコピーします

lilosthitch
質問者

お礼

早い回答ありがとうございました。 試してみたらうまくできました。 すごく助かりました。 ありがとうございました。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

配列数式で許される件数なら 例データ A2:E13 だたし、C,D,E列は参考のためにB列と同じ数字を列をずらして書いているだけ。 元データはA,B列 a 12 12 b 21 - 21 c 14 - - 14 a 12 12 b 9 - 9 c 24 - - 24 a 7 7 b 15 - 15 c 13 - - 13 a 32 32 b 14 - 14 c 23 - - 23 ーーーー 最大値と最小値を出してみると S+C+EはShifttpCTRLとEnterキーを同時押しすること F3の式 =MAX(IF(MOD(ROW($A$2:$A$14),3)=0,$B$2:$B$13,0)) と入れて S+C+E G3は =MIN(IF(MOD(ROW($A$2:$A$14),3)=0,$B$2:$B$13,"")) と入れて S+C+E F4は =MAX(IF(MOD(ROW($A$2:$A$13),3)=1,$B$2:$B$13,0)) と入れて S+C+E G4は =MIN(IF(MOD(ROW($A$2:$A$13),3)=1,$B$2:$B$13,"")) と入れて S+C+E F5は =MAX(IF(MOD(ROW($A$2:$A$13),3)=2,$B$2:$B$13,0)) と入れて S+C+E G5は =MIN(IF(MOD(ROW($A$2:$A$13),3)=2,$B$2:$B$13,"")) と入れて S+C+E ーー 結果 F3:G5 21 9 24 13 32 7 上記データ例のC,D,E列のデータで確認できる。

lilosthitch
質問者

お礼

配列関数詳しくキーボードの打ち方も書いてくださり ありがとうございます。 質問以外の応用できる 最大値の出し方も書いてくださてありがとうございました。 配列関数はかなり多いデータでもできるのですね。 回答ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

関数を使用しない方法は如何でしょうか。 (1)最小値抽出シートにデータコピー (2)金額列で並び替え(昇順) (3)金額列で重複削除 因みにマクロ記録させておくと操作が簡単です。

lilosthitch
質問者

お礼

回答ありがとうございます。 関数やピボットテーブル以外にも 方法があるのですね 勉強しなります。 ありがとうございました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

最小値抽出シートのA列には品物名を入力することにしてA2セルには合板、A3セルにはペンキ、A4セルにはネジのように入力します。 B列には金額を表示させることにしてB2セルには次の式を入力し式を確定する段階でCtrlキーとShiftキーを押しながらEnterキーを押します。その後に式を下方にオートフィルドラッグします。 =IF(A2="","",MIN(IF(品物購入!B$1:B$50=A2,品物購入!A$1:A$50))) C列には購入日を表示させることにしてC2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",INDEX(品物購入!C$1:C$50,SUMPRODUCT((品物購入!B$1:B$50=A2)*(品物購入!A$1:A$50=B2)*ROW(A$1:A$50)))) なお、C列の表示形式は日付にします。

lilosthitch
質問者

お礼

丁寧に回答いただいてすごくわかりやすかったです。 ありがとうございます。 試してみたらうまくいきました。 回答ありがとうございました。

  • muunoy
  • ベストアンサー率38% (70/183)
回答No.2

関数ではなく、ピボットテーブルを使ってみてはどうですか? 結果をどのように使用しているかわからないので、参考にならなかったらごめんなさい。 全データあわせて、何行あるのかわからないので、最良の方法とは言えないかもしれません。

lilosthitch
質問者

お礼

ピボットテーブル知らなかったので検索してみました、 初めて機能をしりました。 エクセル=関数みたいに思っていたので 勉強になりました。 たくさんデータ、抽出項目がある時 また勉強して使ってみたいです。 回答ありがとうございました。

関連するQ&A

専門家に質問してみよう