excel某单元格A1输入条件满足条件时A1自动生成数值,若不满足则需要在B1手动输入一个数值?可以实现么?

比如AA对应的是1BB对应的是2如果我输入AA则B1跳出1,如果输入BB则B1跳出2,如果我输入别的比如ZZ,那可以在B1再手动输入数值么?(AABBZZ都是举例的,没有... 比如
AA 对应的是 1
BB 对应的是 2

如果我输入AA 则B1跳出1,如果输入BB则B1跳出2,如果我输入别的比如ZZ,那可以在B1再手动输入数值么?(AA BB ZZ都是举例的 ,没有实际意义)
不报希望~要是谁能解决加分~~加满!
忘记说了,如果满足条件的话B列要锁定住,如果不满足条件的话,那么我需要手动输入,就像2楼说的,如果结果是#N/A,,那我需要手动输入结果。
展开
 我来答
树de心
2011-01-21 · TA获得超过259个赞
知道答主
回答量:63
采纳率:0%
帮助的人:60.5万
展开全部

一、在B1中输入公式:  =IF(A1="AA",1,IF(A1="BB",2))

直接然后往下拉,填充B列其他单元格即可。

如果输入了AA,则B列会自动显示1,

输入了BB,则B列会自动显示2,

输入其他内容,则显示False.

二、这是A列输入的内容种类较少的情况下可以使用,如果A列输入内容种类太多,可以这样:

  先输入好对应的情况,在写公式,如图:

表里如一
2011-01-23 · 知道合伙人软件行家
表里如一
知道合伙人软件行家
采纳数:2066 获赞数:11616
从事6年生产管理,期间开发了多款小软件进行数据处理和分析,后

向TA提问 私信TA
展开全部
可以实现的的.请点击我的名字看我的联系方式.
详谈后我将会给你一个文件看效果.
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Count > 1 Then Exit Sub '选择多个单元格区域则退出过程
If .Column = 1 And .Value = "AA" Then .Value = 1 '只有在A列输入AA,或者BB才能改变数值. 输入AA,显示为1,输入BB显示为2.还可以添加其他的.
If .Column = 1 And .Value = "BB" Then .Value = 2
End With
End Sub

这是VBA代码. 还可以继续添加,这个就不是公式能赶上的了.因为公式判断了需要使用循环引用才能在自身显示结果.否则无法实现本身自己的变化.
我的这个代码,是表示只要你在A列输入AA,及该单元格变成1,输入BB及显示2

再次修改代码.圆满完成楼主要求:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Count > 1 Then Exit Sub '选择多个单元格区域则退出过程
If .Column = 1 Then
If .Value = "AA" Then
Worksheets(1).Unprotect "1111" '解除保护
.Offset(0, 1).Value = 1 '在A列输入AA,显示为1
Worksheets(1).Columns(2).Locked = True '锁定B列
Worksheets(1).Protect "1111" '再次保护
ElseIf .Value = "BB" Then
Worksheets(1).Unprotect "1111"
.Offset(0, 1).Value = 2 '输入BB显示为2
Worksheets(1).Columns(2).Locked = True
Worksheets(1).Protect "1111"
Else '不等于AA,BB的话,解除保护,不再锁定B列
Worksheets(1).Unprotect "1111"
Worksheets(1).Columns(2).Locked = False
End If
End If
End With
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朱荟非
2011-01-21 · TA获得超过1万个赞
知道大有可为答主
回答量:5408
采纳率:81%
帮助的人:2049万
展开全部
可以,但需要有一个对照表作为数据源,不然怎么知道该跳出什么呢?

在B1输入公式
=vlookup(a1,{"aa",1;"bb",2;"cc",3},2,0)
如果在A1输入ZZ,不在给定的范围,就会出来结果N/A,手动改一下就行

上面列的对照数据比较简单,如果多了就见一个辅助列,比如放到表2的AB列,把公式的数据区域改为引用
=vlookup(a1,sheet2!a:b,2,0)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
啾咪阿懿Cg7bf
2011-01-21 · TA获得超过1005个赞
知道小有建树答主
回答量:586
采纳率:0%
帮助的人:308万
展开全部
用IF函数可以实现。双层嵌套
在B1单元格输入:=IF(A1="AA",1,IF(A2="BB",2,"请手动输入"))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
太极健1969
2011-01-21 · TA获得超过9025个赞
知道大有可为答主
回答量:8668
采纳率:69%
帮助的人:3361万
展开全部
用VBA实现
代码如下
Private Sub Worksheet_Change(ByVal Target As Range)
Dim R&
Dim T As String
If Target.Column = 1 And Target.Count = 1 Then
R = Target.Row
T = Target.Value
If T = "AA" Then
Cells(R, 2) = 1
ElseIf T = "BB" Then
Cells(R, 2) = 2
End If
End If
End Sub
把代码复制到你要输入的工作表对应编辑框中,当你在A列输入时自动在B列按你的要求生成

或者用以下代码
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Count > 1 Then Exit Sub
If .Column = 1 And .Value = "AA" Then Cells(.Row, 2) = 1
If .Column = 1 And .Value = "BB" Then Cells(.Row, 2) = 2
End With
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式