[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『縦に並んでいるデータを、列と行の両方の条件にあてはまるものを抽出して表示したい』(りっぷる)
以下のような元データがあったとします。
A B C D E F G
予定月 担当 確度 会社名 台数 利益 区分 1 2011/10 伊藤 A 鰍`商事 10 20,000 OG 2 2011/10 田中 C あいう梶@ 300 1,000,000 LOT 3 2011/11 田中 A カキ梶@ 5 3,000 OG 4 2011/11 伊藤 B 鰍`商事 10 20,000 OG 5 2011/12 田中 C Bコーポ梶@1 1,500 OG 6 2011/12 田中 A カキ梶@ 5 3,000 OG 7 2011/10 中井 A 鰍u鉄鋼 1 2,000 OG 8 2011/10 伊藤 A 鰍e工業 10 25,000 OG 9 2011/11 伊藤 B 鰍e工業 15 30,000 OG 10 2011/12 村田 C ZZZ梶@ 1 2,500 OG 11 2011/10 田中 C X興業 3 3,000 OG
これを別シートに
予定月→ 2011/10 2011/11 2011/12 確度 担当 会社名 台数 利益 担当 会社名 台数 利益 担当 会社名 台数 利益 A 伊藤 鰍`商事 10 20,000 田中 カキ梶@5 3,000 田中 カキ 5 3000 A 伊藤 鰍e工業 10 25,000 A 中井 鰍u鉄鋼 1 2,000 B 伊藤 鰍`商事 10 20,000 B 伊東 鰍e工業 15 30,000 C 田中 X興業 3 3,000 田中 Bコーポ梶@1 1,500 C 村田 ZZZ株 1 2,500 D
こんな風にわけることはできないでしょうか?
ちなみに区分のOGとLOTは別表もしくは別シートにわけたいです。
毎月集計作業を行うので、コピペでは限界があります・・・
Excel2007です。よろしくお願いいたします。
【追記】すみません。説明不足でした。各予定月に同じ確度および担当、ユーザー名複数あります。この場合どうしたらよいでしょうか?
全文検索で(二つ以上の検索条件を満たす値を返す)で検索Go〜
20080427072141にお望みの回答が有ります。
(ひで)
元データ Sheet1として
B3 =IF(SUMPRODUCT((Sheet1!$C$2:$C$100=$A3)*(Sheet1!$A$2:$A$100=B$1)),INDEX(Sheet1!$B$2:$B$100,LOOKUP(1,0/((Sheet1!$C$2:$C$100=$A3)*(Sheet1!$A$2:$A$100=B$1)),ROW($1:$100))),"") C3 =IF(SUMPRODUCT((Sheet1!$C$2:$C$100=$A3)*(Sheet1!$A$2:$A$100=B$1)),INDEX(Sheet1!$D$2:$D$100,LOOKUP(1,0/((Sheet1!$C$2:$C$100=$A3)*(Sheet1!$A$2:$A$100=B$1)),ROW($1:$100))),"") D3 =IF(SUMPRODUCT((Sheet1!$C$2:$C$100=$A3)*(Sheet1!$A$2:$A$100=B$1)),INDEX(Sheet1!$E$2:$E$100,LOOKUP(1,0/((Sheet1!$C$2:$C$100=$A3)*(Sheet1!$A$2:$A$100=B$1)),ROW($1:$100))),"") E3 =IF(SUMPRODUCT((Sheet1!$C$2:$C$100=$A3)*(Sheet1!$A$2:$A$100=B$1)),INDEX(Sheet1!$F$2:$F$100,LOOKUP(1,0/((Sheet1!$C$2:$C$100=$A3)*(Sheet1!$A$2:$A$100=B$1)),ROW($1:$100))),"")
B3:E3を右へコピー。
B3〜 3行目を下へコピー。
※名前抜けw(8:49訂正)
(GobGob)
A3 =IF(COUNTIF(Sheet1!C$2:C$100,"<>")<ROW(A1),"",CHAR(SMALL(INDEX(CODE(Sheet1!C$2:C$100&"嘘"),),ROW(A1))))
B3 =IF(SUMPRODUCT((Sheet1!$C$2:$C$100=$A3)*(Sheet1!$A$2:$A$100=B$1))<COUNTIF($A$3:$A3,$A3),"",INDEX(Sheet1!$B$2:$B$100,SMALL(INDEX(((Sheet1!$C$2:$C$100<>$A3)+(Sheet1!$A$2:$A$100<>B$1))*1000+ROW($1:$99),),COUNTIF($A$3:$A3,$A3))))
C3 =IF(SUMPRODUCT((Sheet1!$C$2:$C$100=$A3)*(Sheet1!$A$2:$A$100=B$1))<COUNTIF($A$3:$A3,$A3),"",INDEX(Sheet1!$D$2:$D$100,SMALL(INDEX(((Sheet1!$C$2:$C$100<>$A3)+(Sheet1!$A$2:$A$100<>B$1))*1000+ROW($1:$99),),COUNTIF($A$3:$A3,$A3))))
D3 =IF(SUMPRODUCT((Sheet1!$C$2:$C$100=$A3)*(Sheet1!$A$2:$A$100=B$1))<COUNTIF($A$3:$A3,$A3),"",INDEX(Sheet1!$E$2:$E$100,SMALL(INDEX(((Sheet1!$C$2:$C$100<>$A3)+(Sheet1!$A$2:$A$100<>B$1))*1000+ROW($1:$99),),COUNTIF($A$3:$A3,$A3))))
E3 =IF(SUMPRODUCT((Sheet1!$C$2:$C$100=$A3)*(Sheet1!$A$2:$A$100=B$1))<COUNTIF($A$3:$A3,$A3),"",INDEX(Sheet1!$F$2:$F$100,SMALL(INDEX(((Sheet1!$C$2:$C$100<>$A3)+(Sheet1!$A$2:$A$100<>B$1))*1000+ROW($1:$99),),COUNTIF($A$3:$A3,$A3))))
B3:E3を右へコピー。
A3〜 3行目範囲を下へコピー。
(GobGob)
あ、LOTとOG、区分忘れたw。
(GobGob)
A3 =IF(COUNTIF(Sheet1!G$2:G$100,"OG")<ROW(A1),"",CHAR(SMALL(INDEX(CODE(Sheet1!C$2:C$100&"嘘")+1000*(Sheet1!$G$2:$G$100<>"OG"),),ROW(A1))))
B3 =IF(SUMPRODUCT((Sheet1!$C$2:$C$100=$A3)*(Sheet1!$A$2:$A$100=B$1)*(Sheet1!$G$2:$G$100="OG"))<COUNTIF($A$3:$A3,$A3),"", INDEX(Sheet1!$B$2:$B$100,SMALL(INDEX(((Sheet1!$C$2:$C$100<>$A3)+(Sheet1!$A$2:$A$100<>B$1)+(Sheet1!$G$2:$G$100<>"OG"))*1000+ROW($1:$99),),COUNTIF($A$3:$A3,$A3))))
C3 =IF(SUMPRODUCT((Sheet1!$C$2:$C$100=$A3)*(Sheet1!$A$2:$A$100=B$1)*(Sheet1!$G$2:$G$100="OG"))<COUNTIF($A$3:$A3,$A3),"", INDEX(Sheet1!$D$2:$D$100,SMALL(INDEX(((Sheet1!$C$2:$C$100<>$A3)+(Sheet1!$A$2:$A$100<>B$1)+(Sheet1!$G$2:$G$100<>"OG"))*1000+ROW($1:$99),),COUNTIF($A$3:$A3,$A3))))
D3 =IF(SUMPRODUCT((Sheet1!$C$2:$C$100=$A3)*(Sheet1!$A$2:$A$100=B$1)*(Sheet1!$G$2:$G$100="OG"))<COUNTIF($A$3:$A3,$A3),"", INDEX(Sheet1!$E$2:$E$100,SMALL(INDEX(((Sheet1!$C$2:$C$100<>$A3)+(Sheet1!$A$2:$A$100<>B$1)+(Sheet1!$G$2:$G$100<>"OG"))*1000+ROW($1:$99),),COUNTIF($A$3:$A3,$A3))))
E3 =IF(SUMPRODUCT((Sheet1!$C$2:$C$100=$A3)*(Sheet1!$A$2:$A$100=B$1)*(Sheet1!$G$2:$G$100="OG"))<COUNTIF($A$3:$A3,$A3),"", INDEX(Sheet1!$F$2:$F$100,SMALL(INDEX(((Sheet1!$C$2:$C$100<>$A3)+(Sheet1!$A$2:$A$100<>B$1)+(Sheet1!$G$2:$G$100<>"OG"))*1000+ROW($1:$99),),COUNTIF($A$3:$A3,$A3))))
※範囲コピーは一個まえ回答と一緒。 ※LOTを集計するなら数式のOGをLOTに変更
(GobGob)
A列に確度の文字列を表示するんだけど、Sheet1の確度列ではデータがバラバラになってる。 これをアルファベット順にするのに文字コードを利用してる。 文字コードを取得して、コードの小さい順に並び替えて再び文字に戻す処理をする際、 セルが空白だとCODE関数はエラーとなるのでダミーとして「嘘」という文字で認識させてる。
こんなの。
※確度が必ずA(全角)から始まってかつアルファベットどおりの順番になるなら CODE→昇順処理→CHARなんてしなくてもいいんだけどね。
(GobGob)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.