- ベストアンサー
エクセル関数:最安値の業者名と下代を抽出する方法
- エクセルの関数を使って、最安値の業者名と下代を抽出する方法について教えてください。
- 【図2】にある一覧から、商品名が「えええ」で最安値の業者名と下代を抽出する方法を教えてください。
- エクセルの関数の設定方法が分からないので、詳しい方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Ano,2です。 >例えばA列(コード)に異なるコードが含まれている場合、 MIN関数を使用して下代の最安値を抽出する事は出来るのでしょうか? その場合は、抽出したいコードをどこかのセルで指定をします。 例えば、セルG1に”11111”などと入力をします。 その上でG2以下のG列に =IF(A2=$G$1,F2,999999999999) という式を設定すれば、指定のコード以外は下代は999999999999になりますから、MINの条件から除くことが出来ます。 そこでG2以下のセルでMIN関数を使えばご希望の結果が得られます。 999999999999は予想される最高の下代よりも大きい数値であれば何でもかまいません。
その他の回答 (3)
- KURUMITO
- ベストアンサー率42% (1835/4283)
図2の表がシート2のA1セルからF1セルには項目名が2行目から下方に各データが入力されているとします。 シート1では図1がA列からF列の1行目に項目名があるとして、C2セルには次の式を入力して、式を確定する段階でCtrlキーとShiftキーを押しながらEnterキーを押します。その後にその式をF2セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IFERROR(INDEX(Sheet2!$C:$F,MATCH(MIN((IF((Sheet2!$A$2:$A$1000=$A2)*(Sheet2!$B$2:$B$1000=$B2),Sheet2!$F$2:$F$1000))),Sheet2!$F:$F,0),COLUMN(A1)),"") 古いエクセルのバージョンでは次のような式を入力し式の確定段階は上記のようにします。 =IF(ISERROR(INDEX(Sheet2!$C:$F,MATCH(MIN((IF((Sheet2!$A$2:$A$1000=$A2)*(Sheet2!$B$2:$B$1000=$B2),Sheet2!$F$2:$F$1000))),Sheet2!$F:$F,0),COLUMN(A1))),"",INDEX(Sheet2!$C:$F,MATCH(MIN((IF((Sheet2!$A$2:$A$1000=$A2)*(Sheet2!$B$2:$B$1000=$B2),Sheet2!$F$2:$F$1000))),Sheet2!$F:$F,0),COLUMN(A1)))
お礼
ありがとうございます。 お陰様で解決出来ました! 貴重なご意見ありがとうございました!
- yosifuji20
- ベストアンサー率43% (2675/6115)
※2のセルがF2,※1のセルがC2とします。 また【図2】の下代をF5:F9とします。 まず【図1】の※2、セルF2に次の式を入れます =MIN(F5:F8) 次に【図2】の下代をF5:F9とした場合に、G5:G9に下記の式を入れます。 =IF(F5=F$2,ROW(),0) 最後に【図1】の※1 セルC2に次の式をセットします。 =INDIRECT("C"&MAX(G5:G9)) INDIRECT関数はカッコ内であらわされるテキストの内容、たとえば”C"&9 であれば=C9と言う式と同じ参照をする関数です。 ただし上記の例では同じ下代が複数すうある場合は、一番下の店を表示します。 関数相互の意味は良く考えてみてください。
お礼
ありがとうございます。 補足を追加させて頂きましたので、 大変お手数ですが、ご回答頂けると幸いで御座います。
補足
例えばA列(コード)に異なるコードが含まれている場合、 MIN関数を使用して下代の最安値を抽出する事は出来るのでしょうか?
- f-uga
- ベストアンサー率37% (168/445)
質問者様が求めるような回答にはならないかもしれませんが、最安値の業者名を出す方法なら1つあります。 ただし、私のPCでは「Excel 2010」なので、2010仕様で説明させていただきます。 結論を一言で言えば「最小値を求め、その値を検索する」です。 質問者様は仕事(?)とはいえ、エクセルをどのくらい使いこなしているか分からないので、その詳しいやり方も念のため投稿させていただきます。 下記の説明では意味フと思う場合は、この私の回答にその旨を補足して下さい。 **ステップ1** 任意のセル(データを入力するマス)に以下のように入力してください。(全て半角入力で!) =MIN(@1:@2) ここで@1と@2は範囲です。任意のデータ範囲を入力してください。 例えば、B3からB12の範囲にデータがあれば =MIN(B3:B12) となります。 上記のように入力したらキーボードのエンターキー(Enter)を押してください。 指定した範囲内のデータの最小値が表示されます。 **ステップ2** 次に、画面の上の方にある「ホーム」というタブをクリックしてください。 フォントの種類や大きさ、文字の色などの設定する欄の右端に「検索と選択▼」というのがあるので、クリックしてください。 メニューが表示されるので、その中で一番上の「検索」をクリックしてください。 「検索する文字列(N):_______」 というのが表示されるので、先ほど表示された最小値を「___」に該当する部分に入力してください。 入力したらキーボードのエンターキー(Enter)を押してください。 **ステップ3** ステップ2で入力した画面の下に、左から順に「ブック、シート、名前、セル、数式」の順に結果が表示されます。 最小値は一つしかないと思うので、表示されているものをクリックすれば、最小値のあるセルに自動で移動してくれます。 そのセルのある業者が最安値。という結果になります。 説明は長くなってしまいましたが、ここの説明を読むのと実際にやるのとでは、予想する以上に大変な作業ではないので、試してみてください。
お礼
ご丁寧にありがとうございます。 エクセルの知識はあまり御座いませんので、 操作方法など分かりやすく、助かりました。 また、補足を追加させて頂きましたので、 大変お手数ですが、ご回答頂けると幸いで御座います。
補足
例えばA列(コード)に異なるコードが含まれている場合、 MIN関数を使用して下代の最安値を抽出する事は出来るのでしょうか?
お礼
ありがとうございます。 早速作成してみます!