求助Google Sheets日期转带前置零的周数拼接公式
Google Sheets 日期转“S + 带前导零周数”公式解决方案
你的公式问题出在运算顺序错误:当你写 "0"&NO.SEMAINE(A1)-1 时,Google Sheets 会先执行 "0"&NO.SEMAINE(A1) 生成字符串,再对这个字符串做减1运算,字符串会被强制转为数字,导致前导零丢失。下面提供两种可行的解决方案:
方案1:修正原IF逻辑(保持你的周数计算规则)
调整括号位置,确保先计算周数的差值,再拼接前导零:
="S "&SI(NO.SEMAINE(A1)-1<10;"0"&(NO.SEMAINE(A1)-1);NO.SEMAINE(A1)-1)
- 核心改进:将
NO.SEMAINE(A1)-1用括号包裹,确保先完成数字运算,再和"0"拼接成字符串。
方案2:用TEXT函数简化(推荐)
TEXT函数可以直接将数字格式化为带前导零的两位格式,无需IF判断,更简洁可靠:
如果你需要的是ISO标准周数(匹配你给出的示例:01/01/2023→S 52、02/01/2023→S 01),使用ISOWEEKNUM函数:
="S "&TEXT(ISOWEEKNUM(A1);"00")
如果你要保留原有的NO.SEMAINE周数规则(需注意NO.SEMAINE默认以周日为一周起始),则公式为:
="S "&TEXT(NO.SEMAINE(A1)-1;"00")
- 说明:
"00"是格式代码,会自动为小于10的数字添加前导零,大于等于10的数字保持原样。
内容的提问来源于stack exchange,提问作者devMethodes
相关产品推荐
相关产品推荐

