【问题标题】:How can I create a table in Excel from a spreadsheet that contains data that is grouped in rows如何从包含按行分组的数据的电子表格在 Excel 中创建表格
【发布时间】:2021-01-19 22:02:05
【问题描述】:

我在电子表格(excel 1 图像)中有数千行 here 数据,我需要创建一个表格,并在下面的标题中填充数据。

【问题讨论】:

  • 您可以使用 PowerQuery
  • - 使用公式为最后一列之后的第一行中的第一个条目创建一行。 - 确保您在一行中获得所需的所有列。 - 选择此行中的单元格,输出以及空白行,直到下一条记录。 - 复制这些单元格 - 向下拖动或选择直到最后并粘贴。 - 全部复制并粘贴为值 - 排序

标签: excel datatable


【解决方案1】:

如果您不想使用 VBA 或花时间处理其他自定义查询,您可以这样做(不是,需要创建帮助列):

在以下情况下创建一个计数的帮助列:

使用这个公式:

=IF(B2="Facility ID:", COUNTIFS($B$1:B2,"Facility ID:"),"")

然后像这样构造你的数据表:

您可以使用这个公式(从单元格 I7 开始):

=INDEX($A:$E,MATCH($H7,$A:$A,0)+I$4,I$5)

然后您需要做的就是向下拖动行并增加计数,只要间距始终保持不变并且字段的位置也保持不变,它应该可以工作

【讨论】:

    【解决方案2】:

    此解决方案需要支持 XLOOKUP 和动态数组的 Excel 版本。

    我会添加两列。一个用来统计记录,一个用来统计记录的行号,像这样。

    E2 是=IF(A2="Facility ID:",MAX(E1:$E$1)+1,E1),F2 是=IF(E2=E1,F1+1,1)。除了最后一行之外,这些公式一直被拖到下方。这是手动输入的 6,因为该记录中缺少典型的第 4 行和第 5 行。

    那么 sheet2 看起来像这样。

    A2 计算 sheet1 中数据的总行数。 =COUNT(Sheet1!E:E)

    第 3 行和第 4 行显示记录中每个字段的位置。

    A6 开始一个从 1 到记录数的列表。 =SEQUENCE(MAX(OFFSET(Sheet1!E2,0,0,B1))) 这使用动态数组功能溢出到多个单元格中。

    B6 中的公式也会溢出到多个单元格中。

    =XLOOKUP($A6#&B$3,OFFSET(Sheet1!$E$2,0,0,$B$1)&OFFSET(Sheet1!$F$2,0,0,$B$1),OFFSET(Sheet1!$A$2,0,B$4,$B$1),"")
    

    我在公式中使用了OFFSET,以便在输入其他数据时进行更新。

    最后,将B6中的公式复制到其他列中。

    【讨论】:

      猜你喜欢
      • 2010-11-19
      • 2011-12-14
      • 1970-01-01
      • 1970-01-01
      • 2021-08-04
      • 2019-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多