如何使用 Google 表格获取与上一年的星期数和星期几相同的日期?

Posted

技术标签:

【中文标题】如何使用 Google 表格获取与上一年的星期数和星期几相同的日期?【英文标题】:How to get date the same as week number and day of week of previous year using Google Sheets? 【发布时间】:2019-07-18 05:41:43 【问题描述】:

我正在寻找一种方法来获取与 Google 表格中上一年的星期数和星期几相同的日期。

例如,

Input   : 12/22/2018 Saturday of week 51.
Output  : 12/23/2017 Saturday of week 51.

但是有一个例外, 像这样,

Input   : 12/31/2018 Monday of week 53.
Output  : 01/01/2018 Saturday of week 1.

Input   : 01/01/2017 Monday of week 1.
Output  : 01/03/2016 Sunday of week 2.

也想获得ISOweek。

例如,

Input   : 01/02/2016 Saturday of week 53.
Output  : 01/03/2015 Saturday of week 1.

【问题讨论】:

感谢您的回复,这是我的工作表。 Link 2016 年 1 月 3 日 = 星期日 【参考方案1】:
=ARRAYFORMULA(TEXT(IFERROR(VLOOKUP(TEXT(A1, "ddd")&WEEKNUM(A1, 1), TEXT(ROW(INDIRECT(
  "A"&DATEVALUE(DATE(YEAR(A1)-1, MONTH(A1), DAY(A1)))-14&
 ":A"&DATEVALUE(DATE(YEAR(A1)-1, MONTH(A1), DAY(A1)))+14)), "ddd")&WEEKNUM(ROW(INDIRECT(
  "A"&DATEVALUE(DATE(YEAR(A1)-1, MONTH(A1), DAY(A1)))-14&
 ":A"&DATEVALUE(DATE(YEAR(A1)-1, MONTH(A1), DAY(A1)))+14)), 1), ROW(INDIRECT(
  "A"&DATEVALUE(DATE(YEAR(A1)-1, MONTH(A1), DAY(A1)))-14&
 ":A"&DATEVALUE(DATE(YEAR(A1)-1, MONTH(A1), DAY(A1)))+14)), 2, 0), 
 VLOOKUP(IF(WEEKNUM(A1, 1)+1=54, 1, WEEKNUM(A1, 1)+1), WEEKNUM(ROW(INDIRECT(
  "A"&DATEVALUE(DATE(YEAR(A1)-1, MONTH(A1), DAY(A1)))-14&
 ":A"&DATEVALUE(DATE(YEAR(A1)-1, MONTH(A1), DAY(A1)))+14)), 1), ROW(INDIRECT(
  "A"&DATEVALUE(DATE(YEAR(A1)-1, MONTH(A1), DAY(A1)))-14&
 ":A"&DATEVALUE(DATE(YEAR(A1)-1, MONTH(A1), DAY(A1)))+14)), 2, 0)), "yyyy/mm/dd"))

【讨论】:

以上是关于如何使用 Google 表格获取与上一年的星期数和星期几相同的日期?的主要内容,如果未能解决你的问题,请参考以下文章

使用 to_date oracle 函数使用星期数和天数 oracle

如何在 Google 表格中获取单元格的字体颜色?

JAVA给一个时间获取一年的第几周,正常自然周是 星期一至星期日为一周,

java获取一年的周数和间隔天数

使用Sheets API v4获取与Google帐户关联的所有电子表格列表

java poi 如何获取获得excel的总的行数和列数?