如何修改 Excel 中的大型数据集? (转置,vba 或其他?)

How to modify large dataset in Excel? (transpose, vba or something else?)

我正在尝试将包含年度数据的数据库从 00:00(小时)01(月)2015(年)转换为 00:00,01-12-2021。

table的默认格式如下: enter image description here

在默认格式中,我们看到两列,一列包含小时和日期,第二列包含值。这种格式有超过 60000 行。

我想做的事情如下图所示: enter image description here

在预期的格式中,第一列仅包含日期,而第一行包含小时数。 我想写一个公式(也许它是否带有转置?)将每个日期和小时的值转移到新单元格。

例如,对于 02-01-2021,在 01:00,对应的值为 52.42。为此,我单击“TRANSPOSE(AD27:AD50)”并填充该行。 AD是默认格式的列位置。

不幸的是,当我用光标单击到第 3 行(02-01-2021 所在的位置)并将其放下以将其传递到下一行时,excel 无法识别该模式。

虽然 excel 应该从最后选择的列开始并转置接下来的 23 个单元格 (AD51:AD74),但它是这样的 (AD28:AD51),这不是我想要的。

enter image description here

第三张图你看到:

使用红笔:旧格式。如您所见,日期和时间在同一单元格(AC 列)中。

黑笔: 日期与时间分离。现在,日期位于单独的列(A 列)中,而时间位于单独的行中(第 1 行)。

使用蓝笔:我要通过传输table中列出的数据来填充的单元格(用红笔指出)。

非常感谢任何想法!

2202版本应该有比较新的功能,简单的方法是:

  • select 您 date/time 中的某个单元格 table
    • Home/Format 作为 table 那么:
    E2:  Enter a list of the dates only from your table.
           *This can be done in various ways*
    F1:  Enter a list of the hours from left to right (or use the `SEQUENCE` function to generate them)
    F2:  =TRANSPOSE(FILTER(Table1[Value],   DATEVALUE(TEXT(Table1[DateTime],"m/d/yyy"))=$E2,""))  and fill down as far as needed

结果会溢出来。