Brenda有一个包含两列的Excel工作表:A和B。在A列中的时间没有任何指示它们是AM还是PM。相反,列B包含AM或PM,适用于指示器左侧的单元格。布伦达想将这两栏合并为一栏,并将结果格式化为军事时间。因此,如果A14包含05:11,而B14包含PM,则她希望合并列包含17:11。

有很简单的方法可以在列中获得所需的结果,但是您选择的公式取决于时间在A列中的存储方式。如果时间实际上是时间值,则C列中的以下公式将可以正常工作罚款:

=IF(B1="pm",A1+0.5,A1)

该公式之所以有效,是因为如果B列中的指标为“ pm”,则它将为A列中的时间增加半天(0.5,这是Excel的十二小时值)。 B列中的指示符是小写(“ pm”)还是大写(“ PM”)都将起作用。但是,如果您在A列中有任何时间过了中午(例如12:15),它将不起作用。在这种情况下,您需要对公式进行一些修改:

=IF(B1="pm",IF(A1<0.5,A1+0.5,A1),A1)

如果存储在A列中的时间实际上是作为文本存储的,则需要进行转换,但是这样做非常容易:

=VALUE(A1 & " " & B1)

无论使用哪种公式化方法,都需要格式化包含公式的单元格,以便它们以军事(24小时)格式显示时间。您可以选择一种预定义的时间格式(显示在“设置单元格格式”对话框的“数字”选项卡中),例如13:30或13:30:55,具体取决于是否要显示秒。您还可以定义自定义格式,例如HH:MM,H:MM,HH:MM:SS或H:MM:SS。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(12041)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处找到适用于Excel的较早菜单界面的本技巧的版本: