[[20171122003759]] 『一定範囲ごとに複数条件を満たす値の取り出し方』(初心者) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『一定範囲ごとに複数条件を満たす値の取り出し方』(初心者)

指定した一定範囲から、条件を満たす値を取り出す方法について、質問させていただきます。
下記のようなデータ表 (A〜F列) があり、最終的に右側の表内 (G〜J列) の「選択」と「得点」に値をまとめようとしています。
「番号」1〜4の人が、各2回カード (AかB) を「順番 (〜回目)」に「選択」し、その際の「選択順序」とカードに書かれた「得点」がまとめられています。
それぞれの番号の人の、1回目と2回目の各順番で、「選択順序」が「1」のカードの種類とその得点を取り出したいと考えています。まれに、どちらも選ばなかった場合があり、「なし」とありますが、その場合は選択と得点が「なし」になるようにしたいのです。また、得点が30点以下の場合も「なし」となるようにしたいのです。
基本的な関数の使い方はわかりますので、教えていただければ助かります。よろしくお願いします。

A B C D E F G H I J
番号 順番(〜回目) 選択 選択順序 得点 番号 順番(〜回目) 選択 得点
1 1 A 1 50 1 1
1 1 B 2 60 1 2
1 2 A 2 75 2 1
1 2 B 1 45 2 2
2 1 A なし なし 3 1
2 1 B なし なし 3 2
2 2 A 1 55 4 1
2 2 B 2 25 4 2
3 1 A 2 65
3 1 B 1 80
3 2 A 2 45
3 2 B 1 80
4 1 A なし なし
4 1 B なし なし
4 2 A 1 90
4 2 B 2 55

< 使用 Excel:Excel2016、使用 OS:unknown >


 これでいいのだろうか?
 I2セル:=IFERROR(INDEX($C$2:$C$1000,MATCH(1,INDEX(($A$2:$A$1000=$G2)*($B$2:$B$1000=$H2)*($D$2:$D$1000=1),0),0)),"なし")
 J2セル:=IFERROR(INDEX($E$2:$E$1000,MATCH(1,INDEX(($A$2:$A$1000=$G2)*($B$2:$B$1000=$H2)*($D$2:$D$1000=1),0),0)),"なし")
 上記を入力して下へフィルコピー。
(ねむねむ) 2017/11/22(水) 09:13

 なお、上記の式は元データが1000行までを対象としている。
 もっとデータがある場合は式中の$1000をすべて大きくしてくれ。
(ねむねむ) 2017/11/22(水) 09:14

 勝手に補足です。

 >得点が30点以下の場合も「なし」となるようにしたいのです。

 これは選択、得点ともに「なし」にしたいのですか?それとも得点だけですか?

 選択と得点、両方ならI2セルとJ2セルの($D$2:$D$1000=1)の後ろに*($E$2:$E$1000>30)
 得点だけならJ2セルの($D$2:$D$1000=1)の後ろに*($E$2:$E$1000>30)

 を足してください。
(bi) 2017/11/22(水) 09:52

 biさん、ありがとう。
 初心者さんすまない、30点以下の条件を見落としていた。
(ねむねむ) 2017/11/22(水) 10:02

ねむねむさん、biさん

ご教示ありがとうございます。
無事解決いたしました。

(初心者) 2017/12/08(金) 01:13


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.