2017-07-27 7 views
0

私の現在のプロジェクトには、クライアントID、通貨、マーケットが必要なメイン入力ページがあります。クライアントごとに異なる状況と手数料%およびMIN/MAX手数料の異なる出力があります。VBA Vlookup Issues

私は(A2 & B2 & C2)を検索するためにVLOOKUPを使用する場合、それは代わりにクライアント為替市場で、CLIENTIDCURRENCYMARKETを検索し、ひいてはそれが何かを見つけます。コードの

一般的な考え方:

=VLOOKUP(A2&B2&C2;'Spec. Klienti - Horiz'!B2:T75;4;FALSE) 

メイン・入力ページ(クライアントID、通貨、および市場)は、入力値であり、私はそれを返す必要がある場合には、MINおよび%は、その特定のクライアントのMIN /%。 enter image description here

VLOOKUP検索テーブルを使用すると、「CLIENTの通貨市場」を検索したい場合は、テキストの間にスペースを追加する必要があり、ここで(別のシート) enter image description here

+0

あなたが正確に含まれているテーブルでは、テキストを探している 'CLIENT通貨MARKET'(良い習慣はありませんが、働く)大量のデータを繰り返しありません? '= VLOOKUP()'は最初の列で一致するものを探します。 –

+0

@RowenChumacera私は、入力されたクライアントID、通貨、マーケットを使用して、2番目のイメージテーブルからMIN /%を検索しようとしています。 Vlookup以外のものを使用できますか? – Nikolajs

+0

あなたの検索テーブルは、あなたが望む値を検索するのに良いフォーマットではありません。それはそのような構造にする必要がありますか? –

答えて

1

、ルックアップテーブルの形式を次のように変更する必要があります。

> Ind    ClientID Currency %  Min Market 
> 
> 111111EURDE  111111  EUR   0.1% 30  DE 
> 
> 111111EURFR  111111  EUR   0.1% 30  FR 
> 
> 111111EURNL  111111  EUR   0.1% 30  NL 

すなわち1データあたり1行です。最初の列は、VLookupを使用する方法で使用できるようにすることです。

あなたはまだテーブルを読み取ることができますが、それは

0

です。これを試してみてください:

= VLOOKUP(A2 & "" & B2 & "" &C2; 'スペックKlienti - HORIZ。' B2:!T75; 4; FALSE)、あなたがしたい方法でVLOOKUPを使用するには

+0

問題は解決しません。スペーシングを無視して、同じものを検索します。 – Nikolajs

+0

複数の列を検索したいとは思わなかった。質問からはっきりとは分かりませんが、数値(文字列なし)を検索している場合、関数: = SUMIFS() が役に立ちます。この関数は、入力値の組み合わせを探しながら1つの列の情報を合計します。ただし、これは入力値の組み合わせが一意である場合にのみ機能します。 – Roosz0rd