兰色最近在发愁一件事情:用透视表做的月统计表,总感觉太low了。
于是兰色又开启天马行空式的思索.....哈哈,脑海里竟然浮现出日历的模板,说做就做,做出的效果真的不一般,不仅颜值拉满,而且非常的实用。
你以为仅如此吗?NO! 它还可以查看详细销售项目汇总。
还可以生成详细销售清单
嘿嘿...我猜你肯定想知道是怎么做到的,下面跟兰色一起做吧。
步骤1 做日历
在第一个格中输入公式
=DATE(C3,E3,1)-WEEKDAY(DATE(C3,E3,1),2)+1
其他日期用+1和+7即可生成。
把非本月的日期隐藏:按ctrl从下向上选取日期行添加条件格式
条件:=month(C6)<>$E$3
格式:自定义代码;;;(3个分号)
再把通过自定义代码d把日期显示成天数。
步骤2 添加每日销售汇总数字
=IF(MONTH(C6)<>$E$3,0,SUMIF(销售明细表!$B:$B,C6,销售明细表!$G:$G))
注:如果不是本月日期结果返回0,是本月就根据日期用SUMIF从销售明细表中汇总金额。销售明细表!$B:$B为日期列,销售明细表!$G:$G为金额列。
步骤3 生成销售汇总和销售明细
这里要使用两段代码辅助完成
把选取的日期输入到单元格中的事件程序:
添加方法:在工作表标签上右键 - 查看代码 - 把下面代码粘贴到右侧的空白处
Private Sub Worksheet_SelectionChange(ByVal Target As Range)On Error Resume NextIf Target.Column < 10 And Target.Column > 2 And Target.Row > 5 And Target.Row < 16 ThenIf IsDate(Target) Then[Q2] = TargetElse[Q2] = Target.Offset(-1, 0)End If生成明细End IfEnd Sub
生成销售明细的筛选代码
添加方法:在工作表标签上右键 - 查看代码 - 在新窗口中插入 - 模块,把下面的代码粘贴空白处。
Sub 生成明细()Sheets("销售明细表").Range("B1:L1100").AdvancedFilter Action:=xlFilterCopy, _CriteriaRange:=Range("销信日历!Criteria"), CopyToRange:=Range("Q5:AA5"), _Unique:=FalseEnd Sub
如果你的版本是office365,上面这段代码可以用filter公式完成。
步骤4 另存为启用宏的excel工作簿