[[20120108214916]] 『縦に並んでいるデータを、列と行の両方の条件にあ』(りっぷる) ページの最後に飛ぶ

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

 

『縦に並んでいるデータを、列と行の両方の条件にあてはまるものを抽出して表示したい』(りっぷる)
初めて投稿させていただきます。どうにも自分の知識だけでは解決できないので、ご教授お願いいたします。

以下のような元データがあったとします。

   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)


ひでさま、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)

GobGobさま
ありがとうございます!!できました!ちなみに、A3の数式の"嘘"って、どういう意味なんですか?FALSEと一緒でしょうか?
(りっぷる)

 A列に確度の文字列を表示するんだけど、Sheet1の確度列ではデータがバラバラになってる。
 これをアルファベット順にするのに文字コードを利用してる。
 文字コードを取得して、コードの小さい順に並び替えて再び文字に戻す処理をする際、
 セルが空白だとCODE関数はエラーとなるのでダミーとして「嘘」という文字で認識させてる。

 こんなの。

 ※確度が必ずA(全角)から始まってかつアルファベットどおりの順番になるなら
   CODE→昇順処理→CHARなんてしなくてもいいんだけどね。

 (GobGob)

GobGobさま
ありがとうございました!勉強になります!
ちなみに、OGとLOTの区別はなくして、特定の担当者の分のみ反映するようにすることはできるのでしょうか?
例・伊藤さんと田中さんの分を反映。
りっぷる

コメント返信:

[ 一覧(最新更新順) ]


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