以日期类型为条件的 IFS 公式

IFS formula with date types as conditions

我的 table 中有两种不同的日期类型:第一种很简单 YYYY-MM-DD,第二种包含周数和年份。

如何构建一个 IFS 公式,其中这两种日期类型是条件?喜欢:

=IFS(A1="YYYY-MM-DD", "A", A1="WWYYYY", "B")

我没有看到 Google 表格数据格式 WWYYYY 然后我假设你有文本值。如果是,那么您可以尝试 REGEXMATCH

=IFS(REGEXMATCH(J8,"\d{4}-\d{2}-\d{2}"), "A",REGEXMATCH(J8,"\d{6}"), "B") 

但对我来说,我不会将日期保存为文本。需要脚本

/**
*
* @customformula
*/
function PATTERN_EXTRACTOR(pattern, a1Notations) {
  var patt = new RegExp(pattern, 'gi');
  var range = SpreadsheetApp.getActiveSheet().getRange(a1Notations);
  return range.getDisplayValues().map(function(row) {
    return row.map(function(cell) {
      return cell.replace(patt,'X');
    });
  });
}

获取模式

=PATTERN_EXTRACTOR("\d",CELL("address",I8))

解决条件

=IFS(I10="XXXX-XX-XX", "A",I10="XXXXXX", "B")

您可以简单地使用以下公式:

=IFS(LEN(A1)=10,"A",len(A1)=6,"B")

这也行得通:

=ARRAYFORMULA(IF(IFERROR(DATEVALUE(A1:A5)), "A", 
              IF(ISNUMBER(A1:A5),           "B", )))