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

比如AA对应的是1BB对应的是2如果我输入AA则B1跳出1(并且B1锁定),如果输入BB则B1跳出2(并且B1锁定),如果我输入别的比如ZZ,那可以在B1再手动输入数值么... 比如
AA 对应的是 1
BB 对应的是 2

如果我输入AA 则B1跳出1(并且B1锁定),如果输入BB则B1跳出2(并且B1锁定),如果我输入别的比如ZZ,那可以在B1再手动输入数值么?(就是说如果满足条件的话那么B列锁定,如果不满足条件则不锁定而且要自己手动输入结果AA BB ZZ都是举例的 ,没有实际意义)
不报希望~要是谁能解决加分~~加满!
展开
 我来答
xiaoyuemt
2011-01-23 · TA获得超过1.6万个赞
知道大有可为答主
回答量:3202
采纳率:64%
帮助的人:1616万
展开全部
可以实现,不过是通过VBA来实现的
1.将所有单元格的保护去除。设置工作表保护。
2.用sheet的 worksheet_change或者 worksheet_selectionchange来监控输入的值
3.如果是在A1的值有变化,且,满足条件,则 取消工作表保护,改变B1的值,设置B1的锁定,再保护工作表
如果A1的值不满足条件,则取消工作表保护,取消B1的锁定,再保护工作表。

参考函数如下:保护和取消保护的函数放在模块中
Sub xProtect()
'假设设置的密码是321
ActiveSheet.Protect Password:="321", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True
End Sub

Sub xUnProtect()
ActiveSheet.Unprotect Password:="321"
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
xA1=cells(1,1)
if xA1="AA" then
call xUnProtect
cells(1,2)=1
cells(1,2).lock=true
call xProtect
else
if xA1="BB" then
call xUnProtect
cells(1,2)=2
cells(1,2).lock=true
call xProtect
else
call xUnProtect
cells(1,2).lock=false
call xProtect
end if
end if
End Sub
百度网友d9e9b08
2011-01-23 · TA获得超过1661个赞
知道小有建树答主
回答量:1060
采纳率:100%
帮助的人:1058万
展开全部
eliangzzl | 二级 回答应该是正确的,但是,一旦手动更改了B1的值,该单元格的公式就不存在了。比如第四行B4的值是你手动输入的,那么,B列其它的单元格都不会受影响,但以后A4单元格的数再改成AA,B4单元格也不会自动更改成1了。
如果手动输入的值少于8个,最好是能把所有需要手动输入的值都按上面的方式加到公式里,让它们自动计算。
如果多于8个,就单做一个新表,里面输入对应关系,用vlookup函数去定义公式。可以先去网上搜索学习一下该函数的定义与实例。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fqi37633
2011-01-24 · TA获得超过1047个赞
知道小有建树答主
回答量:1063
采纳率:0%
帮助的人:825万
展开全部
不清楚你说的详细信息是指的哪些,我举个例,你在A1输入身份证号码,B1中自动算出这个人的出生日期。B1中输入

=IF(A1="","",IF(LEN(A1)=15,CONCATENATE("19",MID(A1,7,2),"年",MID(A1,9,2),"月",MID(A1,11,2),"日"),IF(LEN(A1)=18,CONCATENATE(MID(A1,7,4),"年",MID(A1,11,2),"月",MID(A1,13,2),"日"),"请填写15或18位号码")))

15、18位身份证均可。

另外可以自动推算性别,你在我给你的公式基础上自己想想吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
eliangzzl
2011-01-23 · TA获得超过124个赞
知道答主
回答量:85
采纳率:0%
帮助的人:53.2万
展开全部
试试这个是否能满足你的需求 =IF(A1="AA","1",IF(A1="BB","2",""))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式