2016-12-30 43 views
1

我正在創建一個Excel儀表板,我希望儘可能「不干涉」。下拉的動態命名範圍:刪除沒有VBA的重複

粘貼的用戶在導出的.csv報告看起來像下面,最多可以有行數萬:

Company  Property Segment Type Date  Forecast 
Company 1 Property 1 Transient  01/01/2016 395.6599731 
Company 1 Property 1 Corporate  01/01/2016 5066.720295 
Company 1 Property 2 Transient  01/01/2016 4671.060322 
Company 1 Property 2 Corporate  01/01/2016 0 
Company 1 Property 1 Transient  02/01/2016 3513.280067 
Company 1 Property 1 Corporate  02/01/2016 3513.280067 
Company 1 Property 2 Transient  02/01/2016 0 
Company 1 Property 2 Corporate  02/01/2016 3180.830109 
Company 2 Property 1 Transient  01/01/2016 3180.830109 
Company 2 Property 1 Corporate  01/01/2016 749.5098877 
Company 2 Property 2 Transient  01/01/2016 3104.579819 
Company 2 Property 2 Corporate  01/01/2016 2355.069931 
Company 2 Property 1 Transient  02/01/2016 602.5899658 
Company 2 Property 1 Corporate  02/01/2016 3327.980011 
Company 2 Property 2 Transient  02/01/2016 2725.390045 
Company 2 Property 2 Corporate  02/01/2016 0 

將有包含公司下拉列表中一個單獨的標籤,屬性下拉列表和平均預測顯示。

我有多個命名範圍動態如下(樣本爲公司):

= OFFSET(數據$ A $ 2,0,0,COUNTA(數據$ A:!$ A)-1 1)

我想有不包含重複,下拉菜單所以只是公司1,公司2

當我使用上面的動態命名區域,下拉有8個公司1和8個公司2S。

任何不使用VBA的方法?數組函數是否可以嵌套在動態命名範圍內?

+0

一個快速的方法,如果你可以添加列,就是在某處添加一個幫助列(或者只是添加一個空白列)。然後,複製列A中的所有公司(只需激活單元格'A2',然後按CTRL + SHIFT + [向下箭頭]),然後使用內置的「刪除重複」功能,然後將其用於下拉菜單。這會起作用嗎? – BruceWayne

+0

如果您使用助手列(附加列),會更容易。 – harun24hr

+0

嗨布魯斯:基本上,我希望他們能夠直接粘貼,然後讓所有內容自動填充。所以想盡量避免刪除重複等。會有一種方法可以在數據頁面上自動填充幫助器列嗎? –

回答

0

您可以創建數據透視表來爲每個下拉列表創建唯一值列表。使用數據表作爲源和相應的下拉字段作爲數據透視錶行字段。每個數據透視表將是該字段唯一值的列表。

然後在透視表範圍而不是數據範圍上使用您的偏移公式來創建數據驗證的命名範圍。唯一的缺點是數據透視表需要在新數據粘貼時刷新。

+0

嗨bws1999:是的,希望避免用戶必須做任何事情,除了粘貼數據(包括不必刷新數據透視表)。 –