Excel中的标签与值

我试图创build一个债券评级“AAA,AA +,AA,AA-,…”的映射到数值等效的“-29,-28,-27,-26,…”

我希望单元格的值与标签不同。 例如,我希望一个标签为AAA的单元格的基础值为-29。 这将使我能够使用excel过滤来select债券评级> [阈值]的行。 数值等价/映射为我提供了一个方法。

在Excel中,这个值/标签是否有区别? 如果没有,如果我希望通过我自己的自定义排名进行过滤,我有什么select?

我个人会和Tim William一起使用VLookup的解决scheme,因为这是最简单的。 或者,在使用VBA时,通过将单独的列加​​载到二维数组中,并在循环数组时通过设置条件语句来检索“标签”。

只是试图回答你的问题,你可以给细胞(或范围)一个“名字”,这是litterally为什么他们被称为“命名范围”。
理论上你可以给一个单元格的值为-29,并根据其值检索范围的名称。 请注意,命名范围只允许字母,数字(不以数字开头)和下划线,因此您需要使用“AA_PLUS”或“AA_MINUS”等名称。 假设您将名称“AA”添加到工作簿的表(1)中的单元格(1,1)中,您将检索命名范围:

dim sName as string sName = thisworkbook.sheets(1).cells(1,1).name.name debug.print sName 

在对值进行sorting之后,名称仍然可以正确检索,如果愿意,可以将它们加载到数组中。 虽然好处是您不需要预留工作表空间来添加额外的列,并增加了灵活性(命名的范围可以放在任何地方,因为名字粘贴到单元格),但我不会推荐这种方法,当你处理大量的数据。

一般来说,他们的使用方式与我刚才解释的方式相反。 首先你为一个范围定义一个名字,而不是你检索它的值,而不是相反(虽然没有规则禁止它,代码是可用的)。 命名范围提供了灵活性,并且通常是使工具dynamic化的必要条件。 我的意思是说,范围可以移动,而VBA仍然会正确地检索它们的值。

那么,另一个“标签types的解决scheme”将是每个单元格(其内容可以设置和获得编程)添加评论,但我再也没有使用这种方法和长数据结构,我不会推荐它。

 sName = thisworkbook.sheets(1).cells(1,1).comment.text