解决excel中如何输入汉字,但是在同一单元格中显示某一数字的步骤如下:
1.先来学习right函数:right函数是从一个文本字符串的最后一个字符开始返回指定个数的字符。
2.在学习另一个函数:left,left与right刚好相反,是从一个文本字符串的第一个字符开始返回指定个数的字符。
3.细心的人会发现这两个函数是返回指定个数的字符,那么有的是类似“自行车123”和“电脑12”这样没有固定个数的怎么办,我们还需要两个函数:一个是len,返回文本字符串中字符的个数;另一个是lenb,返回文本中所包含的的字符数。熟悉了这几个函数后就可以进行下一步了。
4.汉字和数字在A1至A4单元格,我们想将汉字放在B1,将数字放在C1。
5.在B1单元格输入公式:=LEFT(A1,LENB(A1)-LEN(A1));在C1单元格输入公式:=RIGHT(A1,2*LEN(A1)-LENB(A1))。这样就解决了excel中如何输入汉字,但是在同一单元格中显示某一数字的问题了。
1、点击“工具”-“自动更正选项”。
2、在替换框格内输入汉字如“代”,替换为框格内输入要显示的数字如“130102”,点击“确定”退出。
3、在某个单元格内输入“代”字,就会显示“130102”。
在A1添加一个AcitiveX的Combobox控件,然后输入以下VBA代码:
Private Sub Worksheet_Activate()
ComboBox1.Clear
ComboBox1.Visible = True
ComboBox1.AddItem "优"
ComboBox1.AddItem "良"
ComboBox1.AddItem "中"
End Sub
Private Sub ComboBox1_Click()
If ComboBox1.Text = "优" Then
Range("A1") = 100
ComboBox1.Visible = False
End If
If ComboBox1.Text = "良" Then
Range("A1") = 75
ComboBox1.Visible = False
End If
If ComboBox1.Text = "中" Then
Range("A1") = 60
ComboBox1.Visible = False
End If
End Sub
最后效果:
在同一单元内,如果用数据有效性设置下拉列表,是不可能实现“显示选项为文字,实际返回数字”这样的效果的
只能通过VBA控件,在工作表上放一个下拉列表控件,然后编写代码响应CLICK事件,根据下拉列表的选中内容,向单元格内赋予相应的数值
楼主的要求,用公式要在同一单元格显示结果,实在汗颜,没有找到思路!
如果用宏,可以按如下操作:
首先假定数据在工作表Sheet1。
1.按Alt+F11打开宏代码编写窗口;
2.在窗口左边,在“工程-VBAProject”下面,找到工作表标签 Sheet1 然后用鼠标双击,打开一个工作表事件代码窗口(右边,空白);
3.在右边空白的代码窗口中粘贴如下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
dj = Cells(1, 1)
If dj = "优秀" Then
Cells(1, 1) = 100
ElseIf dj = "良好" Then
Cells(1, 1) = 70
ElseIf dj = "中档" Then
Cells(1, 1) = 60
End If
End Sub
4.在窗口左上角单击EXCEL的标志按钮,返回工作表;
5.在A1单元格选择测试效果。
注意哦:最后记得保存这个设置!
03版本测试通过,供参考!