同事拿着一张表前来求助,这里的源数据是按照一维的形式显示课节数和教师姓名的课程表,类似于流水账,考虑到打印和张贴课程表的要求,同事希望将其转换为二维表的形式,也就是按照普通的课程那样表按照周数、节数进行显示。由于实际的数据量比较大,手工转换显然是比较麻烦。类似流水账样式的数据表,如何才能转换为实用的样式表格呢
在Excel2016中,切换到“数据选项卡,在“获取和转换功能组依次选择“新建查询→从文件→从工作簿,随后会打开“导入数据对话框,选择需要转换的工作簿,在这里选择包含数据的一维工作表,本例为Sheet1,选择之后会看到图2所示的预览效果,点击右下角的“编辑按钮导入数据。
数据导入之后,我们会看到全新界面的查询编辑器,切换到“转换选项卡,单击“任意列功能组的“透视列按钮,打开“透视列对话框,将值列更改为“Column3,也就是教师姓名所在的列,点击“高级选项前面的三角按钮,将“聚合值函数由默认的“计数更改为“不要聚合,如图3所示。检查无误之后点击右下角的“确定按钮关闭对话框。
完成上述操作之后,我们就可以看到图4所示的二维课程表。切换到“开始选项卡,删除这里的“null列和行即可获得最终效果。检查无误后,单击“关闭功能组的“关闭并上载按钮,此时会在Excel自动新建一个二维格式的工作表。
小提示:
如果使用的不是Excel2016版本,可以使用数据透视表的功能实现,但要借助DAX计算字段公式。上述案例讲述的是教师课程表的转换,如果你从事的是其他行业,类似的表格转换思路相同,聪明的你只需替换其中的具体字段套用即可。
微信支付不支持批量删除,需逐条删除,操作步骤如下:
第一步:打开微信界面,点击我;
第二步:在我的主页,点击服务;
第三步:在服务界面,点击钱包;
第四步:在钱包界面,点击右上角的账单,进入账单列表;
第五步:选中需删除的账单,往左轻滑即可出现删除按钮,点击删除;
第六步:弹出对话框后,再次点击删除;
账单一旦删除无法恢复,请谨慎使用!
案例如下:
--判断月份没有BILLMONEY 为NULL时 可以把Isnull 加进去
selectisnull(case when BILLMONTH=1 then BILLMONEY end,0) 'Month1',
isnull(case when BILLMONTH=2 then BILLMONEY end,0) 'Month2',
isnull(case when BILLMONTH=3 then BILLMONEY end,0) 'Month3',
isnull(case when BILLMONTH=4 then BILLMONEY end,0) 'Month4',
isnull(case when BILLMONTH=5 then BILLMONEY end,0) 'Month5',
isnull(case when BILLMONTH=6 then BILLMONEY end,0) 'Month6',
isnull(case when BILLMONTH=7 then BILLMONEY end,0) 'Month7',
isnull(case when BILLMONTH=8 then BILLMONEY end,0) 'Month8',
isnull(case when BILLMONTH=9 then BILLMONEY end,0) 'Month9',
isnull(case when BILLMONTH=10 then BILLMONEY end,0) 'Month10',
isnull(case when BILLMONTH=11 then BILLMONEY end,0) 'Month11',
isnull(case when BILLMONTH=12 then BILLMONEY end,0) 'Month12'
from 账目表 where BILLYEAR=Year(getdate()) //当前年份!
--或者直接用PIVOT 直接行转列即可 省略了case when 烦琐的代码
--判断月份没有BILLMONEY 为NULL时 可以把Isnull 加进去select BILLYEAR
,isnull([1],0) month1 ,isnull([2],0) month2, isnull([3],0) month3
,isnull([4],0) month4, isnull([5],0) month5, isnull([6],0) month6
,isnull([7],0)month7, isnull([8],0) month8, isnull([9],0) month9
,isnull([10],0) month11, isnull([11],0) month11, isnull([12],0) month12
from 账目表
PIVOT(
MAX(BILLMONEY) FOR BILLMONTH IN(
[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])
)temp
where BILLYEAR=Year(getdate()) //当前年份!
希望能帮到你!
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)