首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Google电子表格矩阵中添加一列?

如何在Google电子表格矩阵中添加一列?
EN

Stack Overflow用户
提问于 2017-03-21 18:36:13
回答 1查看 57关注 0票数 0

我有两个单独的谷歌电子表格文档,让我们称之为汤姆和曾傑瑞。它们包含相同的表,但其中包含不同的数据。例如:

汤姆:

代码语言:javascript
复制
SERIE            RATING
Friends          5
Suits            4
Ray Donavon      2

曾傑瑞:

代码语言:javascript
复制
SERIE            RATING
Game of Thrones  5
Black Mirror     3
Breaking Bad     5

现在,我喜欢将它们合并到不同的Google电子表格中,以便输入:

代码语言:javascript
复制
=QUERY(
    {
        QUERY(
            IMPORTRANGE("DOCUMENT_ID_TOM";"RANGE_DATA_NAME");"SELECT * WHERE Col1 <>''"
        );
        QUERY(
            IMPORTRANGE("DOCUMENT_ID_JERRY";"RANGE_DATA_NAME");"SELECT * WHERE Col1<>''"
        )
    };"SELECT *"
)

现在我有了所有的数据:

代码语言:javascript
复制
Friends          5
Suits            4
Ray Donavon      2
Game of Thrones  5
Black Mirror     3
Breaking Bad     5

然而,在查询中丢失的是,现在我不知道谁对什么进行了评级。所以我更希望的结果是:

代码语言:javascript
复制
Tom    Friends          5
Tom    Suits            4
Tom    Ray Donavon      2
Jerry  Game of Thrones  5
Jerry  Black Mirror     3
Jerry  Breaking Bad     5

现在,我不想在Tom &曾傑瑞的文档中添加一个无用的列,其中包含每个行中复制的名称。必须有另一种方法,这样我才能把它用在公式中。所以问题是:

如何在Google电子表格矩阵中添加具有名称的列?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-21 21:33:28

当汤姆和曾傑瑞参与的时候,我怎么能不去找答案呢?

将其放置在工作表的单元格H1中将导致列H的值与A列相同,I为B,J为C,并增加了将"Tom“(不带引号)放置在K列中的功能:

代码语言:javascript
复制
={A1:C,ARRAYFORMULA(IF(ISBLANK(A1:A),,"Tom"))}

因此,我们对Importrange函数做了一些修改,得到:

代码语言:javascript
复制
={IMPORTRANGE("DOCUMENT_ID_TOM", "sheet1!A1:C"),
   ARRAYFORMULA( 
    IF( 
      ISBLANK( 
          IMPORTRANGE("DOCUMENT_ID_TOM", "sheet1!A1:A")
      )
     ,,"Tom")
   )
 }

因此,我们应该能够使用这个公式将Tom和曾傑瑞添加到导入的范围数组中,甚至可以简化公式:

代码语言:javascript
复制
=QUERY(
  {
   {
    IMPORTRANGE("DOCUMENT_ID_TOM", "sheet1!A1:C"),
    ARRAYFORMULA(
     IF(
      ISBLANK(
       IMPORTRANGE("DOCUMENT_ID_TOM", "sheet1!A1:A")
      )
      ,,"Tom"
     )
    )
  };{
    IMPORTRANGE("DOCUMENT_ID_JERRY", "sheet1!A1:C"),
     ARRAYFORMULA(
      IF(
       ISBLANK(
        IMPORTRANGE("DOCUMENT_ID_JERRY", "sheet1!A1:A")
       )
      ,,"Jerry"
     )
    )
   }
 }
 , "Select * where Col2 <> ''"
)

请注意,我不是使用命名范围来最小化各种范围的使用,而是因为命名范围没有增长。当创建范围时,它将转到工作表中的最后一行。

{}中逗号和分号的使用决定了值是添加到数组的末尾还是创建了新列。有关更多信息,请参见数组帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42935536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档