如何修改 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
结果会溢出来。
我正在尝试将包含年度数据的数据库从 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
结果会溢出来。