Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel,特定单元格条件访问的公式_Excel_Excel Formula - Fatal编程技术网

Excel,特定单元格条件访问的公式

Excel,特定单元格条件访问的公式,excel,excel-formula,Excel,Excel Formula,我试图让我的工作表允许在有受保护公式的单元格中输入,条件是另一个单元格上的信息不存在 我有两列B(员工编号)和C(姓名)。我有一份单独的数据表,在旁边的单元格(B列和C列)中列出了员工编号和姓名 在C列的表1中,我有公式 =IF(或(C5=),NOT(ISNUMBER(匹配(C5,数据!B:B,0))),“”,VLOOKUP(C5,数据!B:C,2,FALSE)) 现在,我可以用公式隐藏和保护单元格,但是如果输入了数据表中没有的员工编号,我就不能在C列中输入姓名 如果我只是隐藏公式,但不保护单元

我试图让我的工作表允许在有受保护公式的单元格中输入,条件是另一个单元格上的信息不存在

我有两列B(员工编号)和C(姓名)。我有一份单独的数据表,在旁边的单元格(B列和C列)中列出了员工编号和姓名

在C列的表1中,我有公式

=IF(或(C5=),NOT(ISNUMBER(匹配(C5,数据!B:B,0))),“”,VLOOKUP(C5,数据!B:C,2,FALSE))

现在,我可以用公式隐藏和保护单元格,但是如果输入了数据表中没有的员工编号,我就不能在C列中输入姓名

如果我只是隐藏公式,但不保护单元格,我可以在C列的单元格中输入一个名称,但是如果名称拼写错误,我删除名称以重新开始,它也会删除公式

有没有办法让C列中的单元格保留公式,如果B列中的员工编号不存在,则允许手动输入


呃,可能不会。可能该列可以被锁定并命名为“Search result”或其他名称,以及旁边的另一列,使用简单的
=D3
引用未锁定的列,或者手动覆盖列,并使第一条if语句引用该手动覆盖列?这只会移动问题,而不会解决问题。在unlocked列中,使用公式
=D3
将得到与D列相同的结果。有人在C中输入员工编号,新列将显示姓名。一旦有人无意中删除了这个名字,它甚至会删除这个公式!一种方法是使用VBA吗?我对VBA的了解还不够,不知道它是否可以实现,更不用说知道如何实现了!是的,你可以把一个按钮连接到一个简单的VBA脚本上,做同样的事情。这将是对宏的简单介绍|有些人建议使用宏记录器,看看它能做些什么,但有太多这样的坏习惯。您需要查看在您的范围内使用for each循环,使用计数器或偏移量评估其他范围。输入您尝试过的内容,我可以提供相应的建议或帮助。使用
数据验证
如何?只需将“员工编号”列标记为人们可以从中选择或键入的列表。否则,它将给他们错误消息。