如何将谷歌表格中日期关联的列数据转换为6×7日历网格?
解决方案:列转日历式排列+自动条件着色
一、实现列转周排列(周日为首,自动换行)
在Calendar!B5单元格输入以下公式,然后横向拖动到H5,再纵向拖动到H10:
=OFFSET(Data!$E$2, (ROW()-5)*7 + (COLUMN()-2), 0)
公式说明:
(ROW()-5):计算当前行相对于起始行(第5行)的偏移量,每向下一行对应Data列7行的偏移(COLUMN()-2):计算当前列相对于起始列(第2列,即B列)的偏移量,每向右一列对应Data列1行的偏移- 整体实现将Data!E2开始的列数据,按7个一组(每周)转置为横向行,自动按周换行
如果Data列的日期并非严格从周日开始,需要按日期匹配对应周位置,可以改用以下公式(假设Data!A列是对应日期):
=INDEX(Data!$E:$E, MATCH(DATE(YEAR($B$1), MONTH($B$1), 1) + (ROW()-5)*7 + (COLUMN()-2), Data!$A:$A, 0))
注:$B$1为日历所在月份的日期(比如“2024/10/1”),需根据实际调整。
二、设置自动着色条件格式
- 选中Calendar!B5:H10区域
- 点击「格式」→「条件格式」
- 添加第一个规则:
- 规则类型:「单元格值」→「等于」
- 输入值:
"Yes" - 设置填充颜色为绿色
- 添加第二个规则:
- 规则类型:「单元格值」→「等于」
- 输入值:
"No" - 设置填充颜色为灰色
- 点击「完成」即可自动根据单元格内容着色
内容的提问来源于stack exchange,提问作者Manu
相关产品推荐
相关产品推荐

