- ベストアンサー
最低価格の社名を自動的に出したい
商品 A社 B社 C社 D社 評価 A 10 15 20 25 B 1 5 3 2 このような表の場合、最低価格の社名を評価の欄に入るようにしたいのですが、 IF関数とOR関数を使っても上手いこといきません。 どうかご教授ください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ANo.1の者です。 商品Aに対する評価のセルがF2だとして、 =INDEX($B$1:$E$1,MATCH(MIN(B2:E2),B2:E2)) とすればいいかと。下にコピーすれば、商品Bに対する「評価」もでます。 最小値に対する位置をMATCH関数で出してやり、INDEX関数で社名を取り出すというやり方です。 なお、余計なお世話かもしれませんが、$B$1:$E$1 としたのは、下にコピーした際、参照元がずれないようにした絶対参照です。
その他の回答 (3)
- jo-zen
- ベストアンサー率42% (848/1995)
ANo.3の者です。先の回答に肝心な部分で間違いがありましたので訂正いたします。 F2にいれるべき数式は =INDEX($B$1:$E$1,MATCH(MIN(B2:E2),B2:E2,0)) となります。なお、最低価格が複数該当する場合(例えばA社とB社が該当した場合)は、先(より左に入力されている)の社名(例の場合はA社)が表示されます。複数該当の場合の処理はいろいろ考えられますが、ここでは言及しません。
- monzou
- ベストアンサー率61% (189/307)
もっと素晴らしいやり方があるかも知れませんが、関数で乗り切るには行と列を入れ替えればできるんじゃないですかね。 A B A社 10 1 B社 15 5 C社 20 3 D社 25 2 ↑こんな感じ。 これでD列には=A列、6行目にMINで最小値取得、7行目にVLOOKUPで6行目の値をキーにしてD列を取得すれば出ますね。 6行目とD列を隠せばそれなりに見れる表になると思いますがどうでしょう。 (もちろん、6行目と7行目は合わせて書いてしまってもいいですけど) まぁ、行と列の数の変動には注意が必要ですけどね。
- jo-zen
- ベストアンサー率42% (848/1995)
何をしたいのかが理解できません。もう少しどうしたいのか?IF関数とかを使ってどういう式を考えたのか?その辺を具体的に示してもらわないとアドバイスのしようがありません。 いずれにせよ、そう難しくなさそうですが・・・