- ベストアンサー
複数の条件で抽出するExcel関数について
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
回答はすでに出ています。ですが この課題は、よくあるパターーなのですが、解説文章にすると、複雑になること!。 思考過程と、解説的なものを、参考に上げてみます。 例データ A1:I5 - 高橋 山田 田中 植田 2021/7/16 4 ヒズケ行決め 2021/7/14 2 1 3 4 1 田中 2 2021/7/15 4 2 1 3 2 山田 1 2021/7/16 2 1 4 3 3 植田 3 - - - - - 4 高橋 4 この問題には、2つの別々のセル範囲から該当を探さないといけない (1)1つは、指定したヒズケのA列での行の範囲である (2)2つ目は、該当する名前のセル位置を探すもので 第1行目の固定範囲を対象にできる 。 行(セル範囲)の指定は、OFFSET関数が考えやすい。 固定範囲で式に書き込む場合がほとんどだが、可変の場合は、OFFSET関数しかないと思う。 ’(3)セルの値でもって、それが存在する場所(セル)を探すのは、MATCH関数です。 ただしアドレスでなく何番目かという番号が返る。 ーーー (1)まずA列で指定の日付け行探しから =MATCH($G$1,$A$1:$A$4,0) 4 ーーー> A1:A4の第4行目にある (2)2つ目は、第4行目で、該当する順位番号のセル位置を探すものです。 範囲は、関数で表すと =MATCH(G2,OFFSET($B$1,1,0,1,4),0) 最後の0は漏れないように。 下方向に式複写 H2:H5に、2、1、3、4 (3)部分的にはデータを求める式がそろったので、最終的に1つの式に組み立てる。 下記の2詰つめ以後は、式複写 =INDEX($B$1:$E$1,MATCH(G2,OFFSET($B$1,1,0,1,4),0) ) 山田 =INDEX($B$1:$E$1,MATCH(G3,OFFSET($B$1,1,0,1,4),0) ) 高橋 =INDEX($B$1:$E$1,MATCH(G4,OFFSET($B$1,1,0,1,4),0) ) 田中 =INDEX($B$1:$E$1,MATCH(G5,OFFSET($B$1,1,0,1,4),0) ) 植田