2015-01-09 120 views
0

我有一個電子表格(當前有6000多行),列B包括日期和列J是醫生。兩欄都會有重複的值。我試圖找到一種方法(使用VBA,因爲它是一個更大的宏的一部分)循環遍歷J列中的醫生並選擇最近的(基於B列中的日期)條目。然後,它會刪除所有其他具有重複醫生名稱的行。不幸的是,醫生的數量一直在波動,所以我不能在某些例子中指出某些特定的特徵。例如:提前刪除基於列中的重複值的行,日期爲

Date   Doctor 
2015-01-03  Bob 
2015-01-02  Jane 

感謝:

Date   Doctor 
2015-01-03  Bob 
2015-01-02  Jane 
2015-01-02  Bob 
2015-01-01  Jane 
2015-01-01  Bob 

行重複的醫生將被刪除,留下!

+0

它看起來像你想保留**第一**醫生的實例?? – 2015-01-09 18:42:42

+0

@加里的學生,你問行是否按時間倒序排列?很明顯他們想要最近的。 – 2015-01-09 18:51:20

+0

@加里的學生,這個例子已經下降了,但實際的名單是混合的。我想可以在VBA中添加一個排序函數進行處理,然後保留第一行包含醫生的名字並刪除其餘的部分。你有這樣的例子嗎? – Xerakon 2015-01-09 19:42:33

回答

0

莫非你:

  • 招醫生的名單到一個臨時工作簿/張並刪除重複?

  • 從那裏你可以遍歷你的主列表並輸入醫生姓名旁邊列中每個醫生的最大日期。

  • 然後再次遍歷主列表並檢查與每個實例相關的日期。

  • 如果該日期與您第一次通過的最長日期不符,請將其刪除,否則繼續。

  • 最後,您將剩下您的削減列表,您可以關閉並不保存臨時工作簿/工作表。

您的主醫生人數多少?

+0

通過master set,你是​​在談論一個不同的工作簿/電子表格?還是原來的?我不想與其他任何東西進行比較。 – Xerakon 2015-01-09 19:48:14

+0

我正在談論原創。 – Kyle 2015-01-12 22:21:35