中小企業の働き方改革をサポート>>

sheet1のB列に「あ」と入っている行のF列の数字
のなかで、
sheet1のF列が1番大きい数字を取り出すようにしたいのですが、
下の2式をどういうようにつなげればいいのか、わかりません。

=INDEX(sheet1!F:F,MATCH("あ",sheet1!B:B,0))
=INDEX(sheet1!F:F,MATCH(LARGE(sheet1!F:F,1),sheet1!F:F,0))

どうすればうまくいくでしょうか?
調べてみて、AND関数などいろいろと使ってやってみたんですが、うまくいきませんでした。
回答御願いします。

A 回答 (4件)

配列数式でできます。


しかし、これは関数の範疇を越えた知識と慣れ(初めはなんとなく頼りない感じがする)がいります。
例データ
A列  B列
a1
あ22
s3
f4
あ10
h1
あ15
k5
z6
あ7
あ18
f2
g3
j5
k34
式は
=MAX(IF(A1:A15="あ",B1:B15,0))
と入れて、SHIFT,CTRL,ENTERの3つのキーを同時押しする。
15行までの場合で、データの無い行まで多めに指定してもOKです。
表現していることは、割合常識的でわかりやすく、
A1:A15の範囲で、そのセルの値が「あ」なら、「対応する」B1:B15のB列の値を拾い、でなければ0をおけ。
その15個の中のMAXをとれ、という意味です。
結果
22
ーーー
普通は配列数式でできるものはSUMPRODUCT関数でもできるものが多いが、このケースは難しそうです。考えて見ますが。
    • good
    • 0

◆これでもいいような?


=SUMPRODUCT(MAX((Sheet1!B1:B10="あ")*(Sheet1!F1:F10)))
または、
=MAX(INDEX((Sheet1!B1:B10="あ")*(Sheet1!F1:F10),))
    • good
    • 0

SUMPRODUCTを使うとこういう感じ?



=SUMPRODUCT((MAX(sheet1!F2:F1000))*(sheet1!B2:B1000="あ"))/COUNTIF(sheet1!B2:B1000,"あ")
    • good
    • 0

すいません。

2つの式を全然つなげていませんけど

=max(if(sheet1!B1:B1000="あ",sheet1!F1:F1000,""))
と入力して、CtrlとShiftを押しながら、Enterを押すというのは、いかがでしょうか。 (配列関数)
    • good
    • 0

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


このカテゴリの人気Q&Aランキング