教えて!HELPDESK      Excel     Word      Outlook      Power Point      Windows

 

 

Excel2010-2016: 複数列の条件に合致した値を取り出す(条件エリア不要)★SUMPRODUCT関数、INDEX関数

   

 

 

 

 

■ 複数列の条件に合致したものを取り出す(SUMPRODUCT関数、INDEX関数、ROW関数)

=INDEX(範囲,SUMPRODUCT((列=条件)*(列=条件)*(列=条件)*(列=条件),ROW(範囲)))

複数列から値を取り出す関数としてはDGET関数が早いですが、DGET関数は条件エリアを作成する必要があります(かつ条件エリアは元データと同じ様式で項目行が上

ここではDGET関数が使えない(条件エリアがない、条件エリアはあるが項目名が元データと異なる…等)場合の方法をご紹介します。

 


例「学校名」「順位」「性別」を指定して【氏名】を取り出す

 

=INDEX($E$1:$E$7,SUMPRODUCT((A1:A7=I1)*(D1:D7=I2)*(C1:C7=I3),ROW(E1:E7)))

 

SUMPRODUCT関数で条件に合致する値の行番号をINDEX関数の行に引き渡します。

※ 条件が表と同じ項目行を使っている場合は、DGET関数で簡単に取り出すことができます。

 

      

 

 

教えて!HELPDESK      Excel     Word      Outlook      Power Point      Windows