【问题标题】:Import data from nth columns to another sheet将数据从第 n 列导入另一个工作表
【发布时间】:2020-12-04 10:09:39
【问题描述】:

我正在尝试从第 n 列中导入所有数据,从第 3 行开始,从一个工作表 ('Dataimport') 到同一个电子表格中的另一个 ('Cleaned Data'),但到目前为止我只设法从每第 n 列中获取一个特定的单元格:

=INDEX(Dataimport!$C$3:$HI$3;(ROWS($A$1:A1)*6)+1)

现在我正在手动执行此操作,在每个单元格中使用 =TRANSPOSE(IMPORTRANGE("1yyb1k0uAdN1XcLWBhNq4jA0eInnePRoUt9IbuXDmfEU";"Dataimport!I3:I300")),以便水平导入列数据(这应该是它的样子):

带有数据的工作表如下所示。在这里,我想从 C 列开始每隔 7 列检索数据:

知道我是怎么做到的吗?

公开链接: https://docs.google.com/spreadsheets/d/1hXFiSoduVjcZ6fbOcyp-BfI7m4So-01umLS0kBm-lVI/edit?usp=sharing

【问题讨论】:

  • 在 Excel 中,您可以将数组用于 INDEX 函数的 row_numcolumn_num 参数。 Sheets 中可能有类似的东西。
  • 您能否使用电子表格的公共链接更新您的问题、您正在使用的输入示例和预期输出?
  • @Alessandro 我现在插入了一个公共链接 :)
  • Betina,请让您的样本表可供所有人编辑,而不仅仅是可见。请参阅此处获取指南:webapps.stackexchange.com/questions/138382/… 由于它涉及从其他工作表导入,因此如果我们制作自己的工作表副本,我们将失去该访问权限。或者,您可以将另一张表的内容粘贴到示例表中的选项卡中,以便我们可以在本地开发正确的公式。

标签: excel google-sheets google-sheets-formula multiple-columns


【解决方案1】:

建议的解决方案

鉴于您的尝试 =INDEX(Dataimport!$C$3:$HI$3;(ROWS($A$1:A1)*6)+1),我建议使用 Google 表格公式 OFFSET,它允许将索引指定为数学运算。

您将能够通过简单的数学运算指定列偏移量,以便为下面的行获取下一个所需的索引。

这是一个例子:

=TRANSPOSE(OFFSET(Dataimport!C$2:C$199;1;(ROW()-1)*6;199;1))

使用此公式,您可以从Dataimport 工作表中获取右列,然后将其转置以使其适合一行。

将此公式放入Clean Data“D2”单元格将计算从OFFSET 公式中考虑的第 3 列 (“C”) 开始的 6 列偏移量。向下拖动公式会将列偏移索引调整为所需的 7 列范围。

参考

OFFSET

【讨论】:

    【解决方案2】:

    我想我有一个解决办法。 我用虚拟数据构建了一个电子表格,然后我制作了一个公式,从表格中获取每 n 列。

    这是我的解决方案: https://docs.google.com/spreadsheets/d/1J6x4H_cNczRRo40Ri6Nwa-YnZOISpxZmG4-JZ7tA1kA/copy

    首先,我为两个表创建一个 ID 列,让 vlookup 工作 我为此使用 vlookup 和 arrayformula 公式: 为了抓取多个列,我在 vlookup 中使用序列公式。 这会生成一个具有定义步长的数字数组。因此,如果您可以将每 6 列定义为 6。这里的 step 在单元格 c23 中定义 =ArrayFormula(vlookup(A24:A43,A2:AB21,sequence(1,5,4,C23),false))

    当然,它可以在多个工作表或文件中工作。您只需要使用 importranges 而不是对范围的标准引用。

    【讨论】:

      猜你喜欢
      • 2016-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-23
      • 2022-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多