2016-10-26 11 views
0

私は人気のあるゲームのためにWebから取得されたデータの表を持っています。このデータから、要約表を作成したいが、最初の基準と第2の副基準はすべて第1列にあり、取得したいデータは第5列にある。サマリー表にはヘッダー行(B1-L1)としての最初の基準(職業)があり、2番目の基準(名前)はA3の下にリストされています。ヘッダー行は固定ですが、(Name)の数は増減できます。 ここにデータの抽出があります。vlookup複数基準同じ列

Name Race Class Level Skill 
Alchemy (3)     
Name Race Class Level Skill 
Poddington   11 1 
Ookberg    29 95 
Sprowt   100 547 
Nothing found.    
Blacksmithing (1)    
Name Race Class Level Skill 
Fleshdripper   70 70 
Nothing found.    
Enchanting (2)    
Name Race Class Level Skill 
Sprowt   100 609 
Mystlibertyx   100 3 
Nothing found.    

などなど

列2(人種)と3列目(クラス)が空白になっている、4列目(レベル)が必要とされていない第一番号と第五列(スキル)が第二が含まれて含まれています私が検索したい番号です。

したがって、B3の例では と書かれています。Summary/B2(例:Alchemy(2))のDATA/col Aを検索して、Summary/A3の最初のインスタンス(たとえば "Poddington")を検索し、 DATA /コラム5からスキル番号を返します。一致するものがない場合は "1"となります。

注1)職業「錬金術」の正確な位置は固定されていません。 2)各専門分野の名前の数は、メンバーの参加/離脱に伴って変化します。 3)1つの名前は、2つの異なる職業(例えば、上記抽出物の「Sprowt」)の下に記載することができます。 4)職業の横にある括弧内の数字は、列Aにもあり、(名前)が追加/削除されると変更されます。既に、VLOOKUP(B1)など、これを引き出すサマリーテーブルの2行目の式があります。 & "*"、 "DATA"!$ A:$ A、1、FALSE)

どのように助けても結果が得られるようにインデックス、マッチ、すばらしいです。

答えて

0

最初のタスクは、効率的な数式を作成できるようにデータを「クリーン」することです。

  1. データの整合性を保護します。各グループ見出し(錬金術、鍛冶など)は、各レコードに添付する必要があります。シートの最初に列を挿入します(A列)。新しい列のA2に数式を挿入して、グループが変更されているかどうかを確認し、結果を記録します。この式を、レコードセット全体の列Aに沿って繰り返します。 IF(右(c2,1)、 ")"、C2、A1)。これにより、グループ行がすべての行に追加され、グループが変更されたときに変更されます。
  2. レコードセット内のすべてのヘッダーを削除します。 NAMEのすべてのインスタンスを#NAMEのようなもので検索して置き換えます。このデータセットでは、私はNOTHING FOUNDの行と同じことをします。 #Nothingで検索して置き換えます。
  3. データをソートできるようになりました。列Bのすべてのレコードをソートします。#Nameが最初になります。 1つを除くすべての行を削除します。次は#Nothingになります。これらの行も削除してください。

作業するには、きれいなデータセットが必要です。私の次のステップは、参照のためにデータをピボットまたはデータのテーブルを作成することです。

私はこれがあなたが必要とするものだと思いますが、そうでない場合は、結果テーブルがどのように表示されるかの例を挙げてください。

+0

おかげWCoasterは、私はコルAは、単純なB&C、およびコルBで、2つのヘルパー列を挿入することで、データをクリーニングに利点を見ることができます= IF(RIGHT(C36,2)= ")"、C36、B35)を使用しているので、メインデータ列の完全性に触れることなく、単純なVLOOKUPをサマリーテーブルに使用することができます。= IFERROR (VLOOKUP($ B $ 2&A3、 'DATA'!A:G、7、FALSE)、 "") – Roland

+0

リストが必要な場合は、また、このテーブルは好きな方法で参照できるようになり、他のクエリを作成するのがはるかに簡単になりました。 – WCoaster

0

質問は正確には分かりませんが、スキル名で次の試合を見つけたい場合は、2行下から5列目に移動します(Ifあなたが探していた名前がG2にあった、それはなります)と言う: -

=INDEX(A:E,MATCH(G2&"*",A:A,0)+2,5) 
+0

こんにちはTom、ありがとうございました。これは私が得た場所の一種ですが、+2は一定ではなく、次の「見つからない」に達する前に名前を検索するのが難しい場所です。 – Roland

+0

OKです最初の例で「Sprowt」のような探している姓のスキルですか?それは「錬金術」と「何もない」の両方を検索して戻っていくことで実現できます。 –

+0

こんにちはTom、Poddington OokbergとSprowtは文字の名前のほんの一部です。それぞれのキャラクターは、可能な11の異なる職業から2つの主要職業(括弧内の数字で終わる職業)を学ぶことができます。各プレイヤーはグループ内で最大11文字を持つことができるので、固定式がすぐに非常に乱雑になることがわかります。私が今得たテーブルは、まず職業を探して、その職業が職業を学んでいるかどうかを確認し、そうであれば、これまで達成してきたレベルを引き出します。 。 。 。 – Roland

関連する問題