Excel Execl中是否有类似PSPP的值标签?

Excel Execl中是否有类似PSPP的值标签?,excel,Excel,我想知道Excel 2013是否有将数字输入表示为预设标签的功能 与A1单元格中的输入1类似,但在同一单元格中显示为“计算机科学”,输入2显示为“计算机工程” ,差不多吧 对不起,如果我的问题不清楚,我不擅长英语,也许这就是为什么我不能在谷歌上找到我的解决方案。 熟悉pspp的人可能更容易理解我所说的传统的解决方案是有一个helper列和一个lookup。因此,您可能会在A1中输入1,而计算机科学将显示在B1中,数据输入后可能会隐藏列A “综合”解决方案是使用类似VBA的东西,它将根据设置规则(

我想知道Excel 2013是否有将数字输入表示为预设标签的功能

与A1单元格中的输入1类似,但在同一单元格中显示为“计算机科学”,输入2显示为“计算机工程” ,差不多吧

对不起,如果我的问题不清楚,我不擅长英语,也许这就是为什么我不能在谷歌上找到我的解决方案。 熟悉pspp的人可能更容易理解我所说的

传统的解决方案是有一个helper列和一个lookup。因此,您可能会在A1中输入
1
,而
计算机科学
将显示在B1中,数据输入后可能会隐藏列A

“综合”解决方案是使用类似VBA的东西,它将根据设置规则(如“如果
1
替换为
计算机科学
”)替换输入A1中的内容

“中间”解决方案是条件格式,使用一系列类似于
Cell Value=1
的规则触发
“计算机科学”
的自定义格式

然而,Excel是一个为数字处理而设计的电子表格程序。这样的“替换”实际上更适合字处理包。在电子表格中,如果此类“音译”的适用范围不限于电子表格的其余功能,则其大部分功能将严重受损


十个CF规则处理十个标签是可行的。

四个标签可以使用数字格式。除了标签数量有限外,此方法还有一个缺点,即数字代码不能像您所描述的那样严格地分配

要查看此方法可以执行的操作,请将以下自定义数字格式应用于一系列单元格:

"Computer Science";"Computer Engineering";"Physical Science";"Biology"
现在,当在该范围内的任何单元格中输入值时,会发生以下情况:

  • 如果该值为正值,则显示“计算机科学”

  • 如果该值为零,则显示“物理科学”

  • 如果该值为负值,则显示“计算机工程”

  • 如果该值为任何文本,则显示“Biology”

但就是这样。这样配置的标签不能超过四个


如果您真想这样做,最好的解决方案是使用VBA例程将自定义代码转换为文本。

假设我们想在单元格A1中输入一个介于192之间的数字,并在单元格中显示相应的元素。在工作表代码区域中输入以下事件宏:

Private Sub Worksheet_Change(ByVal Target As Range)
   If Intersect(Range("A1"), Target) Is Nothing Then Exit Sub
   Dim I As Long, DQ As String
   DQ = Chr(34)
   I = Range("A1").Value - 1

   ary = Array("Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", _
      "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminium", _
      "Silicon", "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", _
      "Scandium", "Titanium", "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", _
      "Copper", "Zinc", "Gallium", "Germanium", "Arsenic", "Selenium", "Bromine", _
      "Krypton", "Rubidium", "Strontium", "Yttrium", "Zirconium", "Niobium", "Molybdenum", _
      "Technetium", "Ruthenium", "Rhodium", "Palladium", "Silver", "Cadmium", "Indium", "Tin", _
      "Antimony", "Tellurium", "Iodine", "Xenon", "Caesium", "Barium", "Lanthanum", "Cerium", _
      "Praseodymium", "Neodymium", "Promethium", "Samarium", "Europium", "Gadolinium", _
      "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium", _
      "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum", "Gold", "Mercury", _
      "Thallium", "Lead", "Bismuth", "Polonium", "Astatine", "Radon", "Francium", "Radium", _
      "Actinium", "Thorium", "Protactinium", "Uranium")

   Range("A1").NumberFormat = DQ & ary(I) & DQ & ";;;"
End Sub

A1中的值未更改,仅显示更改

由于它是工作表代码,因此安装和自动使用非常容易:

  • 在Excel窗口底部附近的选项卡名称上单击鼠标右键
  • 选择查看代码-这将打开一个VBE窗口
  • 粘贴内容并关闭VBE窗口
  • 如果您有任何顾虑,请先在试用工作表上试用

    如果保存工作簿,宏将与工作簿一起保存。 如果在2003年以后使用Excel版本,则必须保存 文件的格式为.xlsm而不是.xlsx

    要删除宏,请执行以下操作:

  • 如上所述打开VBE窗口
  • 清除代码
  • 关闭VBE窗口
  • 要了解有关宏的更多信息,请参阅:

    要了解有关事件宏(工作表代码)的详细信息,请参阅:


    必须启用宏才能工作

    那么您想在单元格A1中输入一个数字并将其显示为预定义的文本字符串?哦,对不起。我现在有一些答案,包括你的方法和VBA。再次感谢,非常感谢。现在我终于可以说我没办法这么做了。非常感谢。我曾经学过一些东西,比如匹配和索引,那就是你所说的VBA?@AwesomeCat No.VBA是Excel自动化的自定义编程。索引/匹配是指工作表函数/公式。再次感谢你们两位@这是一个VBA。老实说,这是我第一次看到这样的事情。非常感谢