如何在数据透视表中将日期字段的格式保留为 mm/dd/yyyy

如何在数据透视表中将日期字段的格式保留为 mm/dd/yyyy

我需要我的数据透视表来保留 mm/dd/yyyy 格式的日期。我选择了字段并尝试设置自定义值,我取消选中了“自动调整列”,并确保选中了“保留单元格格式”。在实验中,我发现如果我选择一个单元格(而不是单元格范围),我可以通过从菜单栏上的“单元格”任务中选择“格式”来保留单个单元格。对于包含数百个潜在单元格的数据透视表,逐个单元格进行更改不是一种实用的方法。此外,我发现我可以选择 10 个以上的单元格并成功执行上述步骤,但奇怪的是,范围内的单个单元格不会格式化并会恢复为 m/dd/yyyy。我需要数据透视表中的 mm/dd/yyyy 来将记录导入另一个不宽容日期格式的系统。由于该字段显示为行的元素,因此无法使用字段设置选项设置格式。

数据透视表字段

刷新数据透视表后的结果

在“行”下输入的字段设置

答案1

这太丑了。我在最新版本的 Excel 365 中看到了同样的行为,所以它不仅限于 Excel 2010。我不确定是否可以通过 Excel 的设置来实现解决方案。

我唯一能建议的是每次刷新后自动执行手动格式。在包含数据透视表的工作表中,右键单击工作表选项卡,然后单击“查看代码”。将以下代码粘贴到代码窗口中,并调整列字母以适合您的数据布局。

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
    Columns("L:L").NumberFormat = "mm/dd/yy;@"
    Debug.Print "ran macro to set date format in pivot table"
End Sub

请记住将文件保存为启用宏的工作簿,扩展名为 .xlsm。

答案2

使用 TEXT 将“日期”列转换为“文本” function [TEXT(value,"mm ddd yyyy")]。在数据透视表中使用后一个(文本)列而不是第一个。数据透视表将以所需的格式为您提供日期。可以根据需要更改格式。

相关内容