• ベストアンサー

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

excelの質問をさせて下さい。 添付の画像を元に相談出来ればと思うのですが、 左側の表を、右側のデータベースを元に クロス集計で埋めたいと考えています。 表は、左部がイベントの参加者 上部がイベント一覧で並べています。 例えば赤いセルに入っているところには、 イベントAに参加したユーザーの評価点を入れたいと考えています (D4=3、D5=4、D6=5、D7=5、D8=、空欄 という形です) 上記を求められる関数式を是非教えていただけませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

例えば田中の場合 データ表の(参加者)氏名の列で、田中の列を探す。しかし田中は複数行に現れる。 しかしエクセルの検索の関数は、一番上の田中の行をいつも返す。それで役にたたない。 2条件(氏名とイベント名)では探せない。 それで#1のようなご指摘が出るのだ。 例データ A,B,C列 a x 1 s y 2 b z 3 a u 4 とする。 A列がx、B列がuのC列の値は =SUMPRODUCT((A2:A5="a")*(B2:B5="u")*(C2:C5)) で4となるが、複数あると結果は足されて返る。 本来これではダメなのだが、1人が1イベント2回出場しないのなら使えるかも。 aに当たるところへ氏名、uに当たるところへイベント名を指定してみてください。C列は評点列。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

仮に右側のデータベースに「イベントID&会員ID」のように連結列を評価点列の左側に作成すれば、集計表の見出し行・項目からVLOOKUP関数で抽出できるが如何でしょうか。 因みに現在のままですと複数条件判定が必要になるので難解で長い数式になる。 一例です。 =IF(COUNTIF(連結列,D$2&$B2),VLOOKUP(D$2&$B2,連結列:評価点列,2,FALSE),"")

relux
質問者

お礼

ありがとうございます。やはりなかなか難しいですね。 参考にさせていただきます。

関連するQ&A