2011-10-20 14 views
3

状況:VLOOKUP

私は2枚のシートを持っている:最初のシートは、従業員の名前のリストが含まれています。 2番目のシートには従業員の給与レポートが含まれています。私は、シート2の従業員を検索して、シート2からシート1に従業員の給与データを引き出す必要があります。これは、シート2の従業員の変更、支払い、および一意のIDのないレポートです。

私は列Aを入力したいと考えています。このシートは、下流のレポートに影響するため、このシートを恒久的に変更することはできません。

これまでにfirst name,middle initial (if any),last nameであったスプリットカラムBを使用した。名前の約10%が異なる姓を持つ場合があることに注意してください。たとえば、シート1にはTara Featherという名前が含まれていますが、2番目のレポートにはTara Birdの名前が使用されています。

試み、これまで:

私はExcelに新しいです、とだけVLOOKUPを学んでいます。私の最初の試みは、シート1とシート2の姓の列に基づいてデータを取り出し、データを入力することでした。残念ながら、それはエントリの90%で働いていましたが、最後の10%は間違った値を持ち、修正する監査は手動エントリよりも時間がかかりました。

可能性のあるアイデア:

その後、VLOOKUPを実行し、値を引く、または「ERROR」を入力し、私の次の思考がlast nameが一致した場合If声明とVLOOKUPようを組み合わせることで、first nameが一致しました。

この新しい考えでは、マクロの領域にいるのか、助けることができる機能の組み合わせがあるのか​​分かりません。理想的には、100%の精度でより多くのことを行うことができます。しかし、シート2で完成した名前を強調表示できれば、いつでも強調表示されないように手動で入力することができ、時間を節約できます。

あなたの考えと方向は何ですか?

答えて

2

100%の精度を求めていますが、2枚のシートに異なる名前がある場合は、決して動作しません。だからの90%が権利を取得する

2枚目はG2で、この式を入れて、あなたが名前を持っている限り多くの行のためにそれを下にコピーします。

=B2&D2 

H2にこの数式を入れて、最初のシートで

=F2 

をそれを下にコピーするには、A2に、この式を入れて、それをコピーし

=VLOOKUP(D2&C2,'second sheet'G:H,2,false) 

どれ行場所、それができません一致するファーストネームと姓が#N/Aを持つことがわかります。

2番目のシートを永久に変更できると仮定して、正しい姓を入力して数式が機能するようにすることができます。同じ名前の2人の人がいる場合は、数式に中間の名前を入れることもできます。

+1

これは1回のわずかな調整で完全に機能します。 sheet1は中間のイニシャルを持つ可能性があるため、IF文を追加する必要がありました。 = IF(F2 = ""、D2&E2、D2&F2)中間のイニシャルがあった場合、それは2番目の列にあります。だから、私はcol3で空白をチェックし、1と2に参加します。空でなければ、私は1と3に参加します。結論として、最初と最後の同じ名前の2人がいない限り、これは神が送るものです。毎週水曜日に3時間の退屈な時間を節約しました。ありがとうございました! – user1005237

関連する問題