Excel Execl中是否有类似PSPP的值标签?
我想知道Excel 2013是否有将数字输入表示为预设标签的功能 与A1单元格中的输入1类似,但在同一单元格中显示为“计算机科学”,输入2显示为“计算机工程” ,差不多吧 对不起,如果我的问题不清楚,我不擅长英语,也许这就是为什么我不能在谷歌上找到我的解决方案。 熟悉pspp的人可能更容易理解我所说的传统的解决方案是有一个helper列和一个lookup。因此,您可能会在A1中输入Excel Execl中是否有类似PSPP的值标签?,excel,Excel,我想知道Excel 2013是否有将数字输入表示为预设标签的功能 与A1单元格中的输入1类似,但在同一单元格中显示为“计算机科学”,输入2显示为“计算机工程” ,差不多吧 对不起,如果我的问题不清楚,我不擅长英语,也许这就是为什么我不能在谷歌上找到我的解决方案。 熟悉pspp的人可能更容易理解我所说的传统的解决方案是有一个helper列和一个lookup。因此,您可能会在A1中输入1,而计算机科学将显示在B1中,数据输入后可能会隐藏列A “综合”解决方案是使用类似VBA的东西,它将根据设置规则(
1
,而计算机科学
将显示在B1中,数据输入后可能会隐藏列A
“综合”解决方案是使用类似VBA的东西,它将根据设置规则(如“如果1
替换为计算机科学
”)替换输入A1中的内容
“中间”解决方案是条件格式,使用一系列类似于Cell Value=1
的规则触发“计算机科学”
的自定义格式
然而,Excel是一个为数字处理而设计的电子表格程序。这样的“替换”实际上更适合字处理包。在电子表格中,如果此类“音译”的适用范围不限于电子表格的其余功能,则其大部分功能将严重受损
十个CF规则处理十个标签是可行的。四个标签可以使用数字格式。除了标签数量有限外,此方法还有一个缺点,即数字代码不能像您所描述的那样严格地分配 要查看此方法可以执行的操作,请将以下自定义数字格式应用于一系列单元格:
"Computer Science";"Computer Engineering";"Physical Science";"Biology"
现在,当在该范围内的任何单元格中输入值时,会发生以下情况:
- 如果该值为正值,则显示“计算机科学”
- 如果该值为零,则显示“物理科学”
- 如果该值为负值,则显示“计算机工程”
- 如果该值为任何文本,则显示“Biology”
如果您真想这样做,最好的解决方案是使用VBA例程将自定义代码转换为文本。假设我们想在单元格A1中输入一个介于1和92之间的数字,并在单元格中显示相应的元素。在工作表代码区域中输入以下事件宏:
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中的值未更改,仅显示更改 由于它是工作表代码,因此安装和自动使用非常容易:
必须启用宏才能工作那么您想在单元格A1中输入一个数字并将其显示为预定义的文本字符串?哦,对不起。我现在有一些答案,包括你的方法和VBA。再次感谢,非常感谢。现在我终于可以说我没办法这么做了。非常感谢。我曾经学过一些东西,比如匹配和索引,那就是你所说的VBA?@AwesomeCat No.VBA是Excel自动化的自定义编程。索引/匹配是指工作表函数/公式。再次感谢你们两位@这是一个VBA。老实说,这是我第一次看到这样的事情。非常感谢