Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从列表中选择后未保留Excel自定义格式_Excel_Date_Excel Formula_Formatting - Fatal编程技术网

从列表中选择后未保留Excel自定义格式

从列表中选择后未保留Excel自定义格式,excel,date,excel-formula,formatting,Excel,Date,Excel Formula,Formatting,在excel工作表中,我创建了一些自定义日期。这些日期是根据一个公式计算出来的,该公式用于从一年中给定的一周中提取一系列天数 我应用的自定义格式是ddd,dd mmmm a.m.和ddd,dd mmmm p.m.,它们以如下方式列出: 第1天上午 第1天下午 第2天上午 第2天下午2点 等等 例如: 2020年1月21日星期一上午 2020年1月21日星期一下午 2020年1月22日星期二上午 2020年1月22日星期二下午 然后,这些日期将在文档的主工作表中的下拉列表中使用,以便用户可以选择相

在excel工作表中,我创建了一些自定义日期。这些日期是根据一个公式计算出来的,该公式用于从一年中给定的一周中提取一系列天数

我应用的自定义格式是ddd,dd mmmm a.m.ddd,dd mmmm p.m.,它们以如下方式列出:

第1天上午

第1天下午

第2天上午

第2天下午2点

等等

例如:

2020年1月21日星期一上午

2020年1月21日星期一下午

2020年1月22日星期二上午

2020年1月22日星期二下午

然后,这些日期将在文档的主工作表中的下拉列表中使用,以便用户可以选择相关日期

但是,尽管自定义格式在列表中正确显示,但并非在最终选择日期时自动更改/转换为标准日期格式

实际上,在下拉列表中,我看到的是ddd,dd-mmmm a.m.(或p.m.),但当我选择日期时,我看到的是ddd,dd-mm-yy

我无法将自定义格式放入单元格,因为我不知道用户是否会选择“a.m.”或“p.m.”,我也无法转换为简单文本,因为我将以数字形式获取日期(公式结果)

我也尝试过使用条件格式,但不起作用(或者我使用了错误的代码…)

因此,我的临时解决办法是删除单元格上的公式并手动键入日期,以便它们被视为简单文本而不被转换,但这当然不是我想要的


关于如何在从列表中选择后保留自定义日期的任何建议?

FYI使用
ddd、dd-mmmm-AM/PM
作为自定义日期格式可以很好地工作。并将显示“1月21日星期二上午”。@Plutian这样做,它会显示“上午”而不会显示“下午”。这取决于您提供的日期。如果添加日期和时间,它会将时间值转换为AM/PM。首先,如何在数据中输入“a.m.”?这是以文本形式提供的吗?@Plutian我明白你的意思了…只有日期是计算出来的,我使用“…以这种方式:ddd,dd mmmm”a.m”将AM/PM添加为自定义文本。在这种情况下,您可以在日期中添加一个模拟时间(例如,上午1:00,下午13:00),并使用AM/PM自定义格式。如果要稍后使用日期进行计算,可以在公式中使用
Datevalue(
)在必要时调整时间。