2014-04-25 42 views
0

來自外部數據庫的數據將用於創建Excel條形圖。將受衆可讀的描述映射到ODBC查詢中的模糊描述

通過odbc訪問數據庫。其中一列有50多個不同「分類」之一的數據。這些分類中的許多都是神祕的變量名,這對觀衆來說是沒有意義的。此外,隨着時間的推移,'類別'已經成長,所以現在有3或4個不同的'類別',實際上意味着同樣的事情。

我沒有能力向數據庫添加表格,以便將受衆可讀名稱映射到每個「類別」。

例如綠松石,青色和天青可以全部映射到「藍色」

我希望如何處理在Excel此映射或SQL建議不添加表到數據庫中。

以Excel文檔與條形圖

回答

0

,創建一個工作表中有兩列出示你的地圖

Sheet 2中的cols A和B將包含

...

 AZURE  Blue 
     CYAN  Blue 
     TURQUOISE Blue 

再添加一列在使用該圖來轉換在這個新列的Z 2行的導入的值

在第一小區

,並且假定導入的類別是在塔B導入的數據,插入這個公式

=VLOOKUP(B2;Sheet2!$A$1:$B$3;2;FALSE) 

如果B2包含AZURE,則返回藍色,如果B2不在轉換表中,則返回N/A。爲了緩解這種粗魯的行爲,請添加一些ISNA檢查...

=IF(ISNA(VLOOKUP(B2;Sheet2!$A$1:$B$3;2;FALSE));B2;VLOOKUP(B2;Sheet2!$A$1:$B$3;2;FALSE)) 
+0

檢查我是否理解您的解決方案:1)創建一個新工作表並將所有ODBC數據導入工作表2)添加一個帶有公式的新列做映射。如果條形圖要自動更新,那麼需要使用宏或VB代碼來設置數據範圍,還是有更優雅的處理方式?我希望有一個執行映射的SQL語句。 – DarwinIcesurfer

+0

(1)是的。 (2)是的。 (3)只有一次解決方案,將新列「作爲值」複製到第二個新列中,然後將第二個新列複製到原始「類別」列中。 (4)對於可重複的解決方案,用錄製的宏自動化(3)中的步驟。 –