2015-05-13 30 views
0

我基本上有一份我的電子表格中有員工的列表,這些員工對他們有特定的數據。我需要做的是根據他們的工作角色將這些行分成不同的工作表,以便我最終得到各種包含1種工作角色的工作表。我已經看到這與VBA完成,但我現在不知道在VBA中編碼,我寧願遠離數據透視表和過濾 - 我想嘗試找到一種方法來使用Excel公式來做到這一點。一些測試數據只是給你一個想法是這樣的:基於列值並使用Excel公式自動將數據拆分到Excel中的不同工作表中

....從這個表我需要傑夫和湯姆1代表一起,史蒂夫在另一其他工作表和安迪(基於工作角色
Name  |  Job Role  |  Target 
Jeff  |  Hunter  |  3000 
steve |  Farmer  |  2000 
tom  |  Hunter  |  5000 
andy  |  Combined  |  10000 

)所以從這張表中我最終應該有3張工作表。

有一件事我沒有嘗試是一個if語句,它裏面VLOOKUP這樣的:

=IF(VLOOKUP(b2,a2:c4,2,FALSE)="Hunter",a2,"") 

這是我得得到我想要的最接近的一次。這個代碼基本上會返回所有獵人的名字,當它在Excel中被拖拽時,它會留下我不想要的空白。我認爲excel會有一些東西可以輕鬆完成這樣的事情,但顯然不是。有沒有人知道解決這個問題沒有VBA或過濾+複製粘貼&?

回答

1

我可以在sheet 2上使用=INDEX(Sheet1!A1:A4,MATCH("Hunter",Sheet1!B1:B4,0))得到這個工作(沒有任何列標題,你已經使用過)。不利的一面是,如果公式發生的次數多於這個名稱,它就開始重複名稱,但我認爲hta可以用=IF()=COUNTIF()組合(以及,嘿,沒有空格)解決。希望能讓你得到你所需要的。

Reference to using =INDEX(,MATCH(, ,))

+0

重複行是一個問題。我給出的示例數據與我的其餘數據相比是微不足道的。我試圖與你推薦的代碼一起工作,但我沒有試圖解決這個問題。儘管謝謝你的回覆。 –

+0

我知道你已經提到過你想找到一種不使用VBA的方法,但也許這可能是你做這件事的最好方法。我很抱歉,我給出的信息不是非常有幫助 – USFBS

+0

它幾乎得到了答案(它的確如此),但重複的行只是毀了它。我不知道VBA,所以它看起來像我會從互聯網的不同角落竊取代碼哈哈,感謝您的幫助 –

相關問題