Excel单元格输入值有效性校验:指定范围内返回原值否则返回空
解决Excel单元格值校验需求的公式方案
这里有个实用的公式可以直接实现你要的功能——校验输入值是否属于指定区域,符合条件就返回原值,不符合则显示空值:
核心公式(以AH6为例)
=IF(ISNUMBER(MATCH(AH6, AJ3:AJ15, 0)), AH6, "")
公式拆解说明
MATCH(AH6, AJ3:AJ15, 0):精确查找AH6的内容在AJ3:AJ15区域中的位置。如果找到匹配项,返回对应的行号;找不到则返回错误值。ISNUMBER(...):判断MATCH的结果是否为数字(即是否找到匹配),找到返回TRUE,没找到返回FALSE。IF(...):根据前面的判断结果输出内容——如果是TRUE就返回AH6的原值,FALSE则返回空字符串(单元格显示为空)。
示例验证
- 当AH6输入"x"时,
MATCH能在AJ3:AJ15中找到对应值,公式返回"x"; - 当AH6输入"A"时,
MATCH找不到匹配项,公式返回空值,完全符合你的需求。
额外优化选项
如果需要忽略大小写匹配(比如输入"X"也能匹配区域里的"x"),可以用大小写统一转换的版本:
=IF(ISNUMBER(MATCH(UPPER(AH6), UPPER(AJ3:AJ15), 0)), AH6, "")
如果指定的允许值不需要引用单元格,也可以直接写为数组形式:
=IF(ISNUMBER(MATCH(AH6, {"Co","H","x"}, 0)), AH6, "")
内容的提问来源于stack exchange,提问作者Nguyễn Hưởng
相关产品推荐
相关产品推荐

