アプリ版:「スタンプのみでお礼する」機能のリリースについて

セルB1にB店
セルC1にC店
セルD1にD店
セルE1にE店
と店の名前を入力し

セルA2からA10までには商品名
あめ
りんご
などが入っており

セルB2からB10にはB店の各値段が
セルC2からB10にはC店の各値段が
セルD2からB10にはD店の各値段が
セルE2からB10にはE店の各値段が
入力されています。

そこでB2からE2までの値を比較し
B2の値が最も小さい(B店が最も安い場合には)B店
C2の値が最も小さい(C店が最も安い場合には)C店
D2の値が最も小さい(D店が最も安い場合には)D店
E2の値が最も小さい(E店が最も安い場合には)E店
とセルF2に表示させたいのですが、F2にはどうすれば良いのでしょうか

ご教授願います
よろしくお願いいたします。

A 回答 (5件)

F2セルに以下の式を貼り付けて、下方向にコピーしてみてください


=OFFSET(A$1,,MIN(INDEX(SUBSTITUTE(((B2:E2=MIN(B2:E2))*1),0,10^5)*COLUMN(B2:E2),))-1)
    • good
    • 2

    A      B    C   D    E    F


1          B店   C店  D店   E店  最安値店
2   あめ     20   15   18   19   C店
3   りんご    54   56   46   48   D店
4   みかん   31   32   33   29   E店

F2=INDEX($B$1:$E$1,MATCH(MIN(B2:E2),B2:E2,0))
◆最安値店が複数あるとダメですが
    • good
    • 0

中間作業セル(列)を使わない方法。


例データ A1:E2
東京大阪名古屋広島
あめ68513
例えば
=INDEX($B$1:$E$1,1,SUM(IF(MIN($B$2:$E$2)=B2:E2,COLUMN(B2:E2),0))-1)
と入れて、SHIFT+CTRL+ENTER(3つのキーを同時押しする。配列数式)
結果
名古屋
ーー
残念なことに同じ値があると、エラーになる。
SUMPRODUCT関数に置き換え可能。
=INDEX($B$1:$E$1,1,SUMPRODUCT((MIN($B$2:$E$2)=B2:E2)*(COLUMN(B2:E2)))-1)
    • good
    • 0

セルF2には最小値、セルG2に店名を表示させるとした場合、


・セルF2
 =MIN(B2:E2)
・セルG2に
 =INDEX($B$1:$E$1,MATCH(F2,B2:E2,0))
として後は下にドラッグしてください。
    • good
    • 2

Gを計算用の列として使います。

表示させたくなければあとから列を非表示にするといいと思います。
G2に、=MIN(B2:E2) と書いてコピーし、G3~G10 にペースト。
F2に、=IF(B2=G2,B$1,IF(C2=G2,C$1,IF(D2=$G2,D$1,E$1))) と書いてコピーし、F3~F10 にペースト。

で どうでしょうか。
だだし、最安店が2つ以上あった場合は一番左の店名が表示されます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!