1315567414 【Excel】データの抽出方法を教えて下さい!



excelの質問をさせて下さい。

添付の画像を元に相談出来ればと思うのですが、
左側の表を、右側のデータベースを元に
クロス集計で埋めたいと考えています。

表は、左部がイベントの参加者
上部がイベント一覧で並べています。

例えば赤いセルに入っているところには、
イベントAに参加したユーザーの評価点を入れたいと考えています
(D4=3、D5=4、D6=5、D7=5、D8=、空欄 という形です)

上記を求められる関数式を是非教えていただけませんか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:
  • 終了:2011/09/12 21:26:16

ベストアンサー

id:discordance No.2

回答回数3ベストアンサー獲得回数3

ピボットテーブルの使用が最適なケースですが、関数のみを使った方法です。

以下、添付画像の表のセル番号に基づいての回答になります。

 

①データベースの横(O列)に抽出用の指標を追加します(イベントIDと会員IDの結合)

「O3」のセルに以下の関数を入力します。

=CONCATENATE(J3,L3) 

 

「O3」セルをコピーして「O4:O21」の範囲にペーストします。

 

②抽出する関数

「D4」のセルに以下の関数を入力します。

=IF(ISERROR(INDEX($N:$N,MATCH(CONCATENATE(D$2,$B4),$O:$O,0))),"",INDEX($N:$N,MATCH(CONCATENATE(D$2,$B4),$O:$O,0)))

 

「D4」セルをコピーして「D4:H8」の範囲(目的の表の範囲)にペーストします。

 

http://excel.onushi.com/function/match.htm

 

その他の回答1件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

http://www11.plala.or.jp/koma_Excel/pivot_menu.html

ピボットテーブルを使うといいですよ。

id:discordance No.2

回答回数3ベストアンサー獲得回数3ここでベストアンサー

ピボットテーブルの使用が最適なケースですが、関数のみを使った方法です。

以下、添付画像の表のセル番号に基づいての回答になります。

 

①データベースの横(O列)に抽出用の指標を追加します(イベントIDと会員IDの結合)

「O3」のセルに以下の関数を入力します。

=CONCATENATE(J3,L3) 

 

「O3」セルをコピーして「O4:O21」の範囲にペーストします。

 

②抽出する関数

「D4」のセルに以下の関数を入力します。

=IF(ISERROR(INDEX($N:$N,MATCH(CONCATENATE(D$2,$B4),$O:$O,0))),"",INDEX($N:$N,MATCH(CONCATENATE(D$2,$B4),$O:$O,0)))

 

「D4」セルをコピーして「D4:H8」の範囲(目的の表の範囲)にペーストします。

 

http://excel.onushi.com/function/match.htm

 

  • id:discordance
    補足になりますが、
    2つのIDを結合したものを検索して抽出しているので、
    データが増えてIDの桁数が上がった場合、
    会員ID:1 イベントID:12→結合 112
    会員ID:11 イベントID:2→結合 112
    という形でデータが混同する可能性がります。
     
    IDを"0001"や"A001"といった文字列にしたり
    "1001"から始めるなどIDの桁に余裕をもたせることをお勧めします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません