Excel 2010 工作表中有几列数据以分钟为单位,我想将它们转换为小时和分钟(数据源将仅生成使用分钟的 Excel 工作簿)。
我怎样才能转换这些值到位转换为小时和分钟的文本字符串。
例如,如果我有一个F1
包含值的单元格300
并将此公式放入同一个单元格中,我会得到循环引用错误:
=INT(F1/60)&" h "&MOD(F1,60)&" m"
我可以隐藏包含原始值的单元格,并使用第二列来执行转换公式,但这意味着对于五列长数字来说,需要一个尴尬的额外步骤。
有没有办法做到这一点,而无需创建额外的单元格来保存计算值?
答案1
我同意 Excellll 的观点;您将需要 VBA 将现有值转换为字符串值。
此方法不会产生文本字符串;但它可能帮助您获取所需的格式。
假设这是我的会议纪要:
在任意空白单元格中输入内容
1440
。选择此单元格并按Ctrl+ C。选择包含分钟的范围。
特殊粘贴>价值观>划分
点击好的。 结果:
再次选择数字范围并按Ctrl+ 1。
去数字>风俗
输入格式:
[h] "h" mm "m"
结果:
如果您想将其改回分钟:
- 在任意空白单元格中输入内容
1440
。选择此单元格并按Ctrl+ C。 - 选择包含您的小时/时间的范围。
- 选择性粘贴 > 数值 > 乘以。
- 按Ctrl+ 1。将数字格式恢复为一般的。
- 完成后,您可以摆脱 1440 单元。
要以十进制形式获取小时数,请使用60
而不是1440
。因此,对于 330(分钟),您将得到 5.5(小时)。
答案2
循环引用是因为您尝试在数据所在的单元格上运行公式。您需要将公式放在不同的单元格中,以便计算结果。如果您不想看到第一个单元格(总分钟数),您可以隐藏该列。我在 F1 中用 300 测试了这一点,并将公式放在 F2 中,它运行正常。