分享

包含多列的 Excel 一维表,如何只透视其中的部分列?

 恶猪王520 2022-10-30 发布于新疆

这也是读者求助的问题:数据表中有多列,如何保持大部分列不变的情况下,只透视其中的某几个指定列?

案例:

下图 1 是某公司员工的每日考勤表,每个人每天有两次打卡时间,分别是上班时间和下班时间。

请将 C 列的上下班时间透视成两列,效果如下图 2 所示。

图片
图片

解决方案:

1. 将 D 列设置为第一个辅助列,在 D2 单元格中输入以下公式 --> 下拉复制公式:

=A2&B2

图片
图片
图片

2. 将 E 列设置为第二个辅助列,在 E2 单元格中输入以下公式 --> 下拉复制公式:

=COUNTIF(D$2:D2,D2)

公式释义:

  • 计算 D 列每个单元格在整个区域中第几次重复出现

图片
图片
图片

3. 选中数据表的任意单元格 --> 选择菜单栏的“数据”-->“从表格”

图片

4. 在弹出的对话框中点击“确定”

图片
图片

5. 选中“打卡时间”列 --> 选择菜单栏的“主页”-->“数据类型”-->“时间”

图片

6. 在弹出的对话框中点击“替换当前转换”按钮

图片

这样就将“打卡时间”列的数据转换成了时间格式。

图片

7. 选中“辅助2”列 --> 选择菜单栏的“转换”-->“透视列”

图片

8. 在弹出的对话框中按以下方式设置 --> 点击“确定”:

  • 值列:选择“打卡时间”

  • 点击“高级选项”,在“聚合值函数”中选择“不要聚合”

图片
图片

9. 删除“辅助1”列

图片
图片

10. 将列标题“1”和“2”分别修改为“上班时间”和“下班时间”

图片

11. 选择菜单栏的“主页”-->“关闭并上载”

图片

完成后的表格就上传至 Excel 中的新工作表中了。考勤数据如有更新,只要选中下表中的任何区域,右键单击,选择“刷新”即可实时更新。

其实最好是在 Power Query 中通过“转换”-->“日期”-->“仅日期”去除日期列中的时间值。不过这无伤大雅,也不是本例的教学重点,所以不特意展开说了。

图片

转发、在看也是爱!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多