gpt4 book ai didi

vba - excel vba - 将两个单元格的内容连接到另一个

转载 作者:行者123 更新时间:2023-12-04 21:53:20 26 4
gpt4 key购买 nike

我有两列需要在第三列中组合一个位置。我试过=CONCATENATE(A1," ", B1)但结果是错误的(它变成了一些整数)。另外,我在 vba 代码中需要这个,因为我正在尝试自动化某些东西。

Column A   | Column B | 3rd column Desired result
2018-02-03 | 01:03:22 | 2018-02-03 01:03:22
2018-01-01 | 13:44:22 | 2018-01-01 13:44:22
2018-04-11 | 20:44:43 | 2018-04-11 20:44:43

最佳答案

你不需要VBA!
您可以使用 TEXT(A1,"yyyy-mm-dd") 轻松地将日期转换为所需的格式。在连接之前。

=CONCATENATE(TEXT(A1,"yyyy-mm-dd")," ", TEXT(B1,"yyyy-mm-dd"))
但随后您将其作为文本而不是日期/时间!这意味着您无法再使用该日期进行计算。
所以我建议……
在 3ʳᵈ 列中使用公式 =A1+B1 , 然后用自定义格式 dd-mm-yyyy hh:mm:ss;@ 格式化 3ʳᵈ 列如下图所示:
enter image description here
这样 3ʳᵈ 列仍然是您可以计算的日期/时间。
解释
那么为什么简单的添加 =A1+B1在这里工作?
  • Excel 中的日期基本上保存为自 1900-01-01 以来的天数。 (即 1 日)。所以2018-02-03从那时起是 43134ᵗʰ 天。
  • Excel 中的时间保存为 1 的一部分日,表示 01:03:220,044004631

  • 因此,如果我们将两者相加(日期值 + 时间值): 43134 + 0,0440046 = 43134,0440046并将其格式化为日期,Excel 将其理解为 2018-02-03 01:03:22 (距离 43134,04400461900-01-01 00:00:00 天)。

    关于vba - excel vba - 将两个单元格的内容连接到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50167354/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com