如何将时间格式的值插入Excel中的文本中

问题描述 投票:0回答:3

我想将这些行放置在某些文本中间的其他单元格中,这是我的单元格的示例:

A B C D
1 6201100010355 1 08:00:00 09:30:00
2 6201100010355 1 08:00:00 09:30:00

我正在使用这个公式来做到这一点:

="some text ("&A1&","&B1&","&C1&","&D1&")"

但是结果不是我所期望的,我明白了:

some text (6201100010355,1,0,333333333333333,0,395833333333333)

我想要得到的是这样的:

some text (6201100010355,1,08:00:00,09:30:00)

excel excel-formula
3个回答
2
投票

您的意思是您希望时间值显示为时间,而不是数值吗?

="some text (" & A1 & ", " & B1 & ", " & TEXT(C1, "hh:mm:ss") & ", " & TEXT(D1, "hh:mm:ss") & ")"

1
投票

尝试使用以下方法:

enter image description here


="Some Text ("&B2&", "&C2&", "&TEXTJOIN(", ",,TEXT(D2:E2,"hh:mm:ss"))&")"

或者,

="Some Text ("&TEXTJOIN(", ",,TEXT(B2:E2,HSTACK(BASE(0,10,10),0,"hh:mm:ss","hh:mm:ss")))&")"

1
投票

虽然日期和时间是使用特定格式输入的,例如“mm/dd”和“hh:mm:ss”,并根据区域格式显示,但它们存储为数字。因此,通常在将它们转换为文本时,我们需要指定我们想要的格式。

其他答案可能足以满足您的需求,但这里还有另一种方法:

  • 通过查看第
    D
    列中的最后一个非空白单元格来动态扩展输入:
    last_data_cell, XLOOKUP(TRUE, D:D <> "", D:D, , , -1)
  • 使用自定义数字格式时间
  • 这是一个数组公式,应该可以在 Excel 2021 中使用
=LET(
    last_data_cell, XLOOKUP(TRUE, D:D <> "", D:D, , , -1),
    cells, A1:last_data_cell,
    delim, ",",
    timeformat, "hh:mm:ss;;;",
    text, INDEX(cells, , 1) & delim & INDEX(cells, , 2) &
        delim & TEXT(INDEX(cells, , 3), timeformat) &
        delim & TEXT(INDEX(cells, , 4), timeformat),
    IF(text <> ",,,", "some text (" & text & ")", "")
)

Result

© www.soinside.com 2019 - 2024. All rights reserved.