Excel - 在一张纸上24小时到另一张纸上的12小时

时间:2016-05-06 21:48:45

标签: excel

我有一份预算Excel工作簿,用于计算我的人员配置要求。 我在电子表格中使用100-2400我的时间我在辅助单元=IF((E3-D3)>0,(E3-D3)-50,0)中使用此公式从工资中删除30分钟午休时间

问题是我的学生很困惑阅读800-1600 / 900-1700 / 1225-2025等的时间表 本月我手动将日程表中的详细信息放入日历并将时间转换为HH:MM AM / PM,我想在另一张工作簿上创建日历并使用公式从我的员工列中提取数据在每个月,并以AM / PM格式填充他们工作的小时数。

我甚至不知所措。理想情况下,虽然可能不可能,我想要一个日历工作表,我将在工作表的顶部输入员工姓名,然后输入月份,它将提取我可以打印的数据然后执行下一个员工

目前,所有员工姓名都存在于工作簿的第一个工作表中,所有其他工作表都从该单元格中提取名称,员工所在的每个工作表都在同一列中。 DEF / JKL / MNO / ...... / CMCNCO

但这可能是一个白日梦,我会为每位员工制作一个日历,如果我能得到一个公式,将我的800转换为上午8点和下午4点到下午4点

修改

这是我正在处理的电子表格的样本输出可能完全相同,除了AM / PM小时黄色文本是前面提到的公式的结果

This is the sample of the spread sheet I'm dealing with  Output could be exactly the same except with AM/PM hours Yellow text is result of previously mentioned formula

2 个答案:

答案 0 :(得分:1)

如果您将数据存储为实际时间值,则可以根据需要对其进行格式化。

将公式=time(6,0,0)放在单元格A1中,然后将其复制几行。

右键单击单元格以格式化单元格>数字>自定义

A1可能默认为h:mm AM / PM,显示上午6:00

格式B1为HHMM,显示0600

格式C1为0.00它显示0.25(excel对待1天= 1.00所以6点是0.25)

将D1格式设置为[hh]:mm显示为06:00,附加的好处是小时数可以超过24(在这种情况下您可能不需要。)

答案 1 :(得分:0)

=TIME(LEFT(RIGHT("0"&D3,4),2),RIGHT(D3,2)/100*60,0)

上述内容会将您的时间转换为小时和分钟的格式,其中15分钟代表25.我想说百分之一小时,但不确定这是否正确。

基本上我们使用构建TIME函数,它以递减的顺序请求三个参数作为整数:小时,分钟和秒。

=TIME(HOUR, MINUTES, SECONDS)

因此,为了确定您的小时数,我们需要前1位或2位数字。我假设你从早上8点开始没有前面的0 in。所以我做的第一件事就是在时间零点上标记你的时间而不管它是什么时候,然后我拉出正确的4个字符来告诉我全部时间。从这开始我继续LEFT功能并拉出前两个字符。由于这是优秀的,它更喜欢24小时制,我不需要做任何事情,因为24小时制为我照顾。

为了确定分钟数,我将最右边的两个字符拉出来并将它们除以100以获得一小时的分数,然后再乘以60以确定我们正在查看的小时中的哪一分钟。

至于秒,我假设你没有达到那个级别的细节,只是把它设置为0.

之后将包含公式的单元格格式化为TIME而不是一般。选择24小时或12小时,满足您的需求。

在下面显示概念验证的屏幕截图中,E列和F列的公式完全相同。不同之处在于细胞的格式化。

enter image description here

编辑错误检查

为了不显示错误,您可以将方程包装在IFERROR语句中

=IFERROR(TIME(LEFT(RIGHT("0"&D3,4),2),RIGHT(D3,2)/100*60,0),"")