2017-06-15 84 views
0

我有一個電子表格,其中我需要找到基於多個搜索條件的數據。我已經使用帶匹配功能的索引來查找電子表格中的第一條記錄,但是我無法到達數據集中的下一條記錄。Excel索引和匹配功能與多個條件不搜索下一條記錄

文件名爲「安全統計」,數據位於[職業傷害]選項卡中。我需要查找月份爲前幾個月的所有記錄,「員工/承包商」列爲「員工」,「受傷類型」欄不是「急救」或「僅限報告」。你可以在這裏看到:Image

我的功能是定位第一次出現,但我無法找到數據集中的下一個記錄。任何幫助將不勝感激。

這是我寫的功能。

{=IF(
    ISNA(
     INDEX(
      '[Safety Stats.xlsx]Occupational Injuries'!$C$5:$C$128, 
      MATCH(1, 
       ('[Safety Stats.xlsx]Occupational Injuries'!$A$5:$A$128=TEXT(EOMONTH(TODAY(),-1),"MMMM")) * 
       ('[Safety Stats.xlsx]Occupational Injuries'!$F$5:$F$128="Employee") * 
       ('[Safety Stats.xlsx]Occupational Injuries'!$I$5:$I$128<>"First Aid") * 
       ('[Safety Stats.xlsx]Occupational Injuries'!$I$5:$I$128<>"Reported Only"),0))),"", 
       INDEX('[Safety Stats.xlsx]Occupational Injuries'!$C$5:$C$128, 
        MATCH(1, 
        ('[Safety Stats.xlsx]Occupational Injuries'!$A$5:$A$128=$Y$9) * 
        ('[Safety Stats.xlsx]Occupational Injuries'!$F$5:$F$128="Employee") * 
        ('[Safety Stats.xlsx]Occupational Injuries'!$I$5:$I$128<>"First Aid") * 
        ('[Safety Stats.xlsx]Occupational Injuries'!$I$5:$I$128<>"Reported Only"),0 
       ) 
      ) 
    ) 
} 
+0

你想達到什麼目的?按這些標準過濾列表?然後可能使用過濾器而不是查找公式。 – teylyn

+0

我希望excel能夠根據我的標準從這個電子表格中提取數據到不同的excel報告中。我在其他報告中使用此公式 – Mushtaq

回答

0

如果您想要符合條件的所有記錄列表,那麼使用查找公式不會太遠。您可能需要考慮採用不同的方法來過濾數據源。

您可以打開數據功能區中的AutoFilter,然後選擇列標題中的值。

如果您想複製過濾結果,您可能需要查看高級過濾器。您可以在電子表格單元格中定義過濾條件,然後運行高級過濾器並將結果複製到不同的工作表中。

編輯:公式的方法是不適合的。你需要一個不同的方法。考慮一個帶有過濾器和/或切片器的數據透視表,它們會查看原始數據。添加新數據時,刷新數據透視表。

或者,使用Power Query,Microsoft的免費加載項Excel 2010。您可以使用所有篩選器定義查詢一次,然後在數據源發生更改時刷新它。

+0

我希望excel能夠根據我的標準從此電子表格中將數據拉到每個月的不同Excel報告中。我在另一份報告中使用這個公式。 – Mushtaq

+0

我給我的答案增加了一些建議。 – teylyn