質問するときはExcelのバージョンを選択しましょう。 シートA → Sheet1 シートB → Sheet2 だとする 検索条件になる日付を、Sheet2のE1セルに入力 Sheet1の日付はC列からR列までだとする 2行目を空けている理由がわからんのですけど、とりあえず3行目からデータだとして Sheet1(S列を作業列にする) S3 =IF(SUMIF($C$1:$R$1,Sheet2!$E$1,C3:R3),ROW(),"") 下にコピー Sheet2 A3 =IF(COUNT(Sheet1!$S:$S)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$S:$S,ROW(A1)))) 右のB3にコピー B3は =IF(COUNT(Sheet1!$S:$S)<ROW(B1),"",INDEX(Sheet1!B:B,SMALL(Sheet1!$S:$S,ROW(B1)))) になるはず C3 =IF(A3="","",SUMIF(Sheet1!A:A,A3,INDEX(Sheet1!C:R,0,MATCH($E$1,Sheet1!$C$1:$R$1,0)))) A3:C3を必要なだけ下にコピー 抽出するデータ量が多い場合は、COUNT(Sheet1!$S:$S) とか MATCH($E$1,Sheet1!$C$1:$R$1,0) は 作業セルにした方がいいです。 PS 作業列を2列使ってもよければ Sheet1 S3 =IF(N(T3)<>0,ROW(),"") T3 =IF(A3="","",SUMIF($C$1:$R$1,Sheet2!$E$1,C3:R3)) 下にコピー ※N(T3)の N は関数です(N関数) Sheet2 C3 =IF(A3="","",SUMIF(Sheet1!A:A,A3,Sheet1!T:T)) または C3 =IF(A3="","",INDEX(Sheet1!T:T,MATCH(A3,Sheet1!A:A,0)))
|