2011-08-17 65 views
1

我有一個問題,我可能沒有正確思考。但我有一個很長的擅長,我從別的地方拉有以下的列文件:帶有多個查詢的Excel查找

Project_Name1,Employee_Name1,Date_Worked1,Hours_Worked1

在另一片我有這些列

Project_Name2,Employee_Name2,Begin_Date2 ,End_Date2,Hours_Worked2

這第二張表是填充數據,工作得很好。 但是,事實證明,我有一些員工姓名,我不知道他們也在處理同一個項目。我需要弄清楚員工的姓名,然後總結一段時期內他們工作的小時數。 所以我需要與三個標準的查找:

Project_Name1 = Project_Name2

Employee_Name1 <> {Employee_Name2的陣列}

Begin_Date2 < = Date_Worked1> End_Date2

返回員工姓名。

一旦我有員工姓名,我可以做一個sumifs =()並獲得他們工作的總小時數沒有問題。

我已經嘗試了一些索引匹配功能的組合,使用ctrl-shift-enter ...並且一直未能找出它。任何幫助將不勝感激。

+0

需要說明的是,Sheet2上是否有一些項目名稱爲2,begindate2和enddate2的不完整記錄?並且您想根據表單1上的信息找到與此數據相匹配的員工姓名2? – Excellll

+0

[This](http://stackoverflow.com/a/21582535/2707864)也許有幫助。 –

回答

0

你所說的做的事情非常複雜,有點過去了Excel默認設計的目的。但是,您可以使用幾種解決方法嘗試獲取您要查找的信息。

  1. 有可能通過連接字段,以多部分標識符做多標準VLOOKUPs和SUMIFS(例如:插入一個新的列,並具有forumla在它像= A1 & B1)
  2. 打開新的工作簿並使用Microsoft Query(我不確定您是否可以從多個工作表中進行選擇,但是如果您可以從多個工作表中選擇表格,則應該可以編寫一個半複雜的查詢來提取所需的數據集。 http://office.microsoft.com/en-us/excel-help/use-microsoft-query-to-retrieve-external-data-HA010099664.aspx
  3. 使用嵌入式宏功能並使用visual basic腳本來寫出您的業務邏輯(熱鍵是ALT + F11)
  4. 要做到這一點
0

一種方法是首先創建一個額外的列條目你想拉employee_name從紙張的右側:=ROW()

喜歡你是你可以再使用數組公式試圖實現拉相應的「匹配」行:

{=SUM((project_name1=projectname2)*(employeename1<>employeename2)*(begindate<=date_worked1)*(date_worked1>end_date2)*(match_column))}

然後,您可以使用此返回的索引中match_column條目你描述的那樣獲取適當的條目。