Excel 2013数据validation

使用Excel 2013,我需要创build一个数据validation规则,而不使用VB或其他代码。 单元格D6是包含“女性”或“男性”的string。 单元格E6包含一个值。

如果D6包含“women”,则E6中的值为s / b <10000。 如果D6包含“男”,E6 s / b <6000。 大于这些数字的值应该会导致数据validation错误。

下面的公式适用于女性或男性,但我无法得到它为两个工作。 如何在单个validation检查中validation两个string? 谢谢!

= IF(ISERROR(FIND( “妇女”,$ D6)),$ E6,10000)

你只看一个案例。

=OR(AND(D6="Women",E6<10000),AND(D6="Men",E6<6000)) 

这看起来无论如何是正确的。 我没有使用find方法,因为string“Men”是“Women”的一部分,我不确定是否区分大小写。 现在我也假定男人或女人是这个string的唯一部分。 如果你的string比较长,比如“紫头发的女人”,那么上面的公式就需要调整。

要在Excel 2013中进入数据validation的Excel版本,请select数据function区(红色圆圈),然后selectfunction区(蓝色圆圈)中的数据有效性,如下所示:

如何获得数据验证

在“数据validation”对话框中,从“允许”下拉框中select“自定义”,然后将上面的公式粘贴到公式框中。

数据验证与自定义公式

如果要定制错误消息,请select“input消息”选项卡;

输入选项卡

或“错误警报”选项卡:

错误标签

现在要注意一些限制。 在E6中input数字后,将执行数据validation检查。 如果在E6中input数字后,将D6更改为其他性别,则不会重新检查E6是否有效。

例如,如果您将女性作为您的D6值,则可以在E6中input9000作为值。 如果您将D6的值更改为Men,则会看到D6 = Men和E6 = 9000的值,因为E6的值尚未重新生效。

UPDATE

这是显示公式结果的图像。 公式在B列,testing值在D列和E列。

结果示例