Excel 有效密码的单元格公式

Excel formula on cell for valid password

我正在创建一个用于将用户批量导入系统的模板,其中一列需要输入密码,

我想在 [password] 单元格上创建一个条件,以便向输入详细信息的人表明密码有效

这些是条件:

Password must contain at least

6 characters

1 symbol

1 number

1 letter

这是我尝试过的方法:MEDIAN(6) AND (OR),EXACT(LOWER()))) 但没有成功。 所有符号均有效,但字符值必须为英文

可能吗?

好吧,我在发布评论和这个答案之间的几分钟内完成了这个,你可以扩展它以包括你想要的任何其他条件:

and(len(A1)>=6,MAX(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A1,1),"")))

是数据验证中使用的公式。你可以看到A1满足长度>=6但是我没有控制数字的数量,但是你可以添加它。

一个password-validator立刻尖叫'regular-expressions'。你想走 VBA 的道路吗,你需要以下模式:

^(?=.*?[!#$])(?=.*?[A-Za-z])(?=.*?\d).{6,}$

在线查看demo


要在相对简单的本机功能中模仿这一点,您可以使用 xpath-expressions:

=NOT(ISERROR(FILTERXML("<t><s>"&LOWER(A1)&"</s></t>","//s[translate(.,'abcdefghijklmnopqrstuvwxyz','')!=.][translate(.,'0123456789','')!=.][translate(.,'!#$','')!=.][string-length()>=6]")))
  • translate(.,'abcdefghijklmnopqrstuvwxyz','')!=.] 会模仿任何字母的正向预测;
  • [translate(.,'0123456789','')!=.] 会模仿任何数字的正向预测;
  • [translate(.,'!#$','')!=.] 将模仿任何符号的正向前瞻(如字符 class 中给出);
  • [string-length()>=6] 将模仿有效输入所需的 6 个以上字符。