来自外部数据库的数据将用于创建Excel条形图。
通过odbc访问数据库。其中一列具有50多种不同的分类之一的数据'。这些分类中的许多是隐含的变量名称,对观众来说没有意义。此外,随着时间的推移,'类别'已经成长,现在有3或4个不同的类别'这实际上意味着同样的事情。
我无法向数据库添加一个表格,这样我就可以将受众可读的名称映射到每个类别'。
例如Turquoise,Cyan和Azure都可以映射到" BLUE"
我很感激有关如何在不向数据库添加表的情况下在excel或SQL中处理此映射的建议。
答案 0 :(得分:0)
在带有条形图的Excel文档中,创建一个包含两列的工作表来生成地图
在sheet2 cols中的A和B将包含......
AZURE Blue
CYAN Blue
TURQUOISE Blue
然后在导入的数据中添加一个列,该列使用此映射来转换导入的值
在此新列Z的第2行的第一个单元格中,假设您导入的类别位于B列中,请插入此公式
=VLOOKUP(B2;Sheet2!$A$1:$B$3;2;FALSE)
如果B2包含AZURE,则返回Blue;如果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))