楼主 lrlxxqxa |
Q:“忽略空值”对数据有效性序列和自定义公式约束的影响? 问题描述:附件《原问题》中设置数据有效性目的为:B列中只能输入A列中已有的数据且当C列同行中的值为“否”时,B列同行就得不能输入任何数据; 但附件中设置(如下图)却达不到此种效果,为什么? A:先来说一下解决这个问题的三种途径: 1、去除“忽略空值”前面的勾选; 2、更改有效性公式为=AND(COUNTIF(A:A,B1)=1,T(C1)<>"否"); 3、使C列全部填充使之没有空值。 下面着重说一下原因,要搞明白这个问题,必须清楚“忽略空值”的勾选对数据有效性自定义公式有何种影响: 先从微软给我们的提示说起: 这段话读起来有点绕,我用自己的话来翻译一下吧。 1、如果把一个区域定义为一个名称,数据有效性引用这个区域名称的时候(“允许”值下拉菜单选择“序列”),当区域中出现空值(真空),则数据有效性不起作用。(区域引用存在空值则忽略数据有效性设置的约束); 2、如果是在“允许”值下拉菜单选择“自定义”,利用公式建立约束条件,那么当数据有效性的公式中引用的单元格有空值(真空)时,数据有效性不起作用(公式引用存在空值则忽略数据有效性设置的约束)。 为了更好的理解第一点,看如下动画: 可见当A列定义的data区域中有空值时,数据有效性约束不起作用了; 再来看如下动画,辅助理解第二点: 原本的数据有效性起作用,是因为C1:C7没有空值;当其中有空值时,则不起作用(数据A列中没有的“8”也不报警); 即使C1:C7有空值,去掉“忽略空值”前面的勾选,则数据有效性重新恢复约束作用(再输入“8”开始报警)。 同理,在勾选“忽略空值”时,更改数据有效性自定义公式为
忽略空值.rar 原问题.rar |
2楼 lrlxxqxa |
关于此选项对数据有效性设置的单元格编辑栏输入的影响请见下帖: [基础应用] 数据有效性序列“忽略空值”的含义是什么? http://www.exceltip.net/thread-3482-1-1.html |
3楼 ccf |
*^_^*学习了! |