【问题标题】:How to combine multiple cells to create one cell with ExcelExcel如何将多个单元格组合成一个单元格
【发布时间】:2017-10-27 11:19:48
【问题描述】:

我有一个包含 4 列的 Excel 文件:

hours   minutes seconds milliseconds
9         7          51       905
9         7          58       233

如何将这一行数据放入一个单元格中?我的目标是创建一个包含 hh_mm_ss.000 的单元格以便进行计算。

无 VBA,首选 Excel 函数。 谢谢。

我找到的解决方案

1) 连接数据

=CONCATENATE(H2;":";I2;":";J2;".";K2)

2) 转换为毫秒

=(H2*3600+60*I2+J2)*1000+K2

3) 计算

4) 结果返回秒数 (=cell/1000) [一般格式化单元格]

【问题讨论】:

  • CONCATENATE(a, b)怎么样?

标签: excel time milliseconds


【解决方案1】:

您可以在 Excel 中使用CONCATENATE() 函数连接字符串:

=CONCATENATE(A1, "_", B1, "_", C1, ".", D1)

如果您使用非英文版 Excel,请改用分号:

=VERKETTEN(A1; "_"; B1; "_"; C1; "."; D1)

作为参数,您可以使用静态字符串或引用单元格。

此外,您可以根据需要提供任意数量的参数来连接它们。您不仅限于两个参数。

【讨论】:

  • 快速说明:这可能适用于非英语版本的 Excel。分号应替换为逗号,公式末尾的最后一个分号不需要。
  • 非常感谢,但我无法用这样的结果进行计算:(
  • 如果我尝试计算使用 concatenate 命令获得的两个值之间的差异,我会得到错误(#VALUE!)。我已将单元格格式化为时间。
  • @Luke He 提供了与您在问题中描述的格式完全相同的答案。
  • 其实有写我需要计算@ImaginaryHuman072889
【解决方案2】:

如果需要诸如加/减时间之类的计算,可能最简单的解决方案是将所有时间转换为秒并将它们相加。

例如,

= 3600*A1+60*B1+C1+D1/1000

我会说这需要手动执行,因为 Excel 的内置时间系统只有秒级(不是毫秒)的分辨率。

【讨论】:

    猜你喜欢
    • 2017-05-09
    • 2016-07-03
    • 1970-01-01
    • 2017-11-30
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多