历史版本2 :贡献日历图 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

如何实现类似GitHub的打码贡献图呢,如下:

1.3 实现思路

通过帆软公式结合单元格扩展属性来实现。

2. 示例编辑

2.1 模板设计

1)准备一份数据,含有日期和贡献度两列数据。如下:

2)单元格设计如下:

单元格公式扩展方向公式说明
合并A2,A3 array(1,2,3,4,5,6,0) 纵向创建一个数组,数组内容为周一至周日对应的数字。
B1maparray(range(12,0,-1),left(monthdelta(today(),-item),7))横向生成去年同期至今的所有月份
B2greparray(range(dateinweek(yeardelta(today(),-1),1),today()),weekday(item)=A2&&left(dateinweek(item,-1),7)=B1) 横向先生成去年同期至今的日期,再根据A2的周几和B1的月份筛选出符合的数据。


3)B3 单元格放入内置数据集的 num 字段,设置过滤属性:列名 rq 等于单元格B2

3)为单元格添加形态公式

单元格形态公式说明
A2"周"+IF($$$=0,"日",numto($$$))将单元格的值转化为周一至周日
B1month($$$+"-01")+"月"将单元格的值以 "x月" 的形式显示
B3""显示空值
4)选中B3单元格,添加条件属性1,设置如下,当前值大于0时,设置背景色。

在添加条件属性2,设置如下,公式 INARRAY(B2,range(yeardelta(today(),-1),today()))>0 成立时,设置边框。

5)B3 单元格设置内容提示,内容为 =format(B2,"yyyy-MM-dd")+"贡献:"+nvl($$$,0)

6)隐藏第二行单元格。

2.2 效果预览

PC 端

移动端

3. 模板下载编辑

点击下载模板:

贡献日历图.cpt