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

比如
AA 对应的是 1
BB 对应的是 2

如果我输入AA 则B1跳出1(并且B1锁定),如果输入BB则B1跳出2(并且B1锁定),如果我输入别的比如ZZ,那可以在B1再手动输入数值么?(就是说如果满足条件的话那么B列锁定,如果不满足条件则不锁定而且要自己手动输入结果AA BB ZZ都是举例的 ,没有实际意义)
不报希望~要是谁能解决加分~~加满!

可以实现,不过是通过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
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-23
eliangzzl | 二级 回答应该是正确的,但是,一旦手动更改了B1的值,该单元格的公式就不存在了。比如第四行B4的值是你手动输入的,那么,B列其它的单元格都不会受影响,但以后A4单元格的数再改成AA,B4单元格也不会自动更改成1了。
如果手动输入的值少于8个,最好是能把所有需要手动输入的值都按上面的方式加到公式里,让它们自动计算。
如果多于8个,就单做一个新表,里面输入对应关系,用vlookup函数去定义公式。可以先去网上搜索学习一下该函数的定义与实例。本回答被提问者采纳
第2个回答  2011-01-24
不清楚你说的详细信息是指的哪些,我举个例,你在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位身份证均可。

另外可以自动推算性别,你在我给你的公式基础上自己想想吧。
第3个回答  2011-01-23
试试这个是否能满足你的需求 =IF(A1="AA","1",IF(A1="BB","2",""))
相似回答