Regex 在Google工作表中使用正则表达式进行数据验证

Regex 在Google工作表中使用正则表达式进行数据验证,regex,validation,google-sheets,spreadsheet,Regex,Validation,Google Sheets,Spreadsheet,我在gSheets中使用以下日期/时间格式: 4月1日11:00 我想知道,当格式以任何方式不同时,是否可以使用数据验证(或任何其他函数)来报告错误(将红色小三角形添加到单元格的角落) 给定格式中的可能值: 01->01-31之间的任何数字(但不是“1”,必须有前导零) 空间 4月->每月3封信(1月、2月、3月、12月) 空间 在 空间 11->24小时格式的小时数(00,01…23) : 00->分钟(00,01,…59) 是否有任何方法可以验证单元格是否包含上述格式的“文本/数据” 事

我在gSheets中使用以下日期/时间格式:

4月1日11:00

我想知道,当格式以任何方式不同时,是否可以使用数据验证(或任何其他函数)来报告错误(将红色小三角形添加到单元格的角落)

给定格式中的可能值:

  • 01->01-31之间的任何数字(但不是“1”,必须有前导零)
  • 空间
  • 4月->每月3封信(1月、2月、3月、12月)
  • 空间
  • 空间
  • 11->24小时格式的小时数(00,01…23)
  • :
  • 00->分钟(00,01,…59)
是否有任何方法可以验证单元格是否包含上述格式的“文本/数据”

事先非常感谢您的帮助


Janek

正确的方法是在Google Sheets中使用正则表达式和“regexmatch()”函数。对于给定的示例,我创建了以下正则表达式:

[0-3][0-9](一月|二月|三月|四月|五月|六月|七月|八月|九月|十月|十一月|十二月)在[0-2][0-9]:[0-5][0-9]

过程:

  • 选择要验证的单元格范围
  • 转到数据>数据验证
  • 在“标准”下选择“自己的模式是”(不确定在英语中使用的确切翻译)
  • 粘贴:=regexmatch(to_text(K4);“[0-3][0-9](一月|二月|三月|四月|五月|六月|七月|八月|九月|十月|十二月)在[0-2][0-9]:[0-5][0-9])
  • 确保“to_text(K4)”中有一个左上角的单元格,而不是K4
  • 拯救

希望对某人有所帮助:)

您可以尝试以下公式进行数据验证:


=not(iserror(替换为(A1,“at”,”)*1))*(len(A1)=15)*(right(A1,2)*1谢谢,这是正确的方法!那不是正则表达式;那是正则公式。