gpt4 book ai didi

google-apps-script - 如何将多个列值拉入 Google 表格中的单个列中?

转载 作者:行者123 更新时间:2023-12-04 18:20:47 27 4
gpt4 key购买 nike

我有 12 列,这些列被公式“IMPORTRANGE”自动填充。

我需要将所有表值整理为一个值(条件是它应该像“ARRAYFORMULA”一样)。

只是想知道是否存在用于此目的的任何特定公式/查询。

我已经添加了我的工作表的示例快照。我需要在不同的列中这些红色突出显示的值,让我们说在“EF”。

最佳答案

常见案例

我将展示 3 列的示例公式,但您可以对任意数量的列使用相同的逻辑。

enter image description here

公式是

=TRANSPOSE(SPLIT(ARRAYFORMULA(CONCATENATE(TRANSPOSE(FILTER(A2:C,A2:A>0)&"-"))),"-"))
  • A2:C是所有列的范围
  • A2:A>0是 A 列仅选择适当行的条件。这可能来自 A2:A<>""用于文本列或任何限制行数的条件。
  • -公式中的任何符号都不是原始数据的一部分。你可以使用一组符号,甚至是特殊词来达到同样的目的:=TRANSPOSE(SPLIT(ARRAYFORMULA(CONCATENATE(TRANSPOSE(FILTER(A2:C,A2:A>0)&"devide"))), "devide"))


  • 案例一。

    非连续列

    如果你有数据是 不连续 列。

    如果是这样,那么你需要改变这部分公式 FILTER(A2:C,A2:A>0)进入查询:
    =query(A:AO;"select A,I,Q,Y,AG,AO... where A > 0")
    或者更好:
    =query({A:AO};"select Col1, Col6, Col20, Col22, ... where Col1 > 0")
    最终公式将如下所示:
    =TRANSPOSE(SPLIT(ARRAYFORMULA(CONCATENATE(TRANSPOSE(query({A:AO};"select Col1, Col6, Col20, Col22, ... where Col1 > 0")&"-"))),"-"))

    案例2。

    不是连续列,数据是数字和文本

    当您在数据中同时输入数字和文本时, query不会工作,因为它只能处理一列中的一种类型的数据。

    您的简化案例将如下所示:

    enter image description here

    第一个任务是将名称为“Ticket number”的所有列抓取到一个表中。

    让我们在工作表“报告”中工作,使用 filter功能:
    =FILTER(Data!1:1001,Data!2:2="Ticket number")

    并得到结果:

    enter image description here

    第 2 步是实现第一个公式:
    =TRANSPOSE(SPLIT(ARRAYFORMULA(CONCATENATE(TRANSPOSE(Report!A3:D&"-"))),"-"))

    另一种方法是将列一一组合:
    ={A2:A5;B2:B5;C2:C5}

    如果你喜欢这个方法,你可以 read more here .

    关于google-apps-script - 如何将多个列值拉入 Google 表格中的单个列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39717770/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com