excel做日历查询系统(把excel统计表做成日历后)
excel做日历查询系统(把excel统计表做成日历后)其他日期用 1和 7即可生成。=DATE(C3 E3 1)-WEEKDAY(DATE(C3 E3 1) 2) 1嘿嘿...我猜你肯定想知道是怎么做到的,下面跟兰色一起做吧。步骤1 做日历在第一个格中输入公式
最近在发愁一件事情:用透视表做的月统计表,总感觉太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 Next
If Target.Column < 10 And Target.Column > 2 And Target.Row > 5 And Target.Row < 16 Then
If IsDate(Target) Then
[Q2] = Target
Else
[Q2] = Target.Offset(-1 0)
End If
生成明细
End If
End Sub
生成销售明细的筛选代码
添加方法:在工作表标签上右键 - 查看代码 - 在新窗口中插入 - 模块,把下面的代码粘贴空白处。
Sub 生成明细()
Sheets("销售明细表").Range("B1:L1100").AdvancedFilter Action:=xlFilterCopy _
CriteriaRange:=Range("销信日历!Criteria") CopyToRange:=Range("Q5:AA5") _
Unique:=False
End Sub
如果你的版本是office365,上面这段代码可以用filter公式完成。
步骤4 另存为启用宏的excel工作簿