【问题标题】:Combine rows only if two cells in two different rows are equal in Google Sheets仅当 Google 表格中两个不同行中的两个单元格相等时才合并行
【发布时间】:2020-10-22 02:11:15
【问题描述】:

我有一个 google 表单,该表单以 Starter 页面开头,该页面由一个文本条目组成,内容为“客户名称”,其下方是一个带有选项“衬衫”和“袜子”的多项选择部分。当“衬衫”被激活时按下下一步,您将进入一个新的部分,您可以在其中选择衬衫的款式。当您在激活“Socks”的情况下按下一步时也会发生同样的情况。

我这样设置是因为它对用户更友好,而且我坚信它会保持这种状态。

表单已同步到有 5 列的工作表:
时间戳、客户姓名、产品、衬衫类型和袜子类型

如图所示,共有 3 个条目:
约翰,他想要一件橙色衬衫。
玛丽,她也想要一件橙色衬衫。
然后是 John 的另一个条目,他也想要一只橙色的袜子。

我的目标是做到以下几点:
通过查看客户的姓名和时间戳,推断可以将它们分组到同一个订单中,因为如果在同一天下两个订单,则意味着它可能是同一个订单,因此应该这样分组以便它可能更容易阅读。
因此,John 不会有两个条目,而是会简化为一个条目,表示 John 想要一件橙色衬衫和一件橙色袜子。 (这一切都在一个单独的表格中,与链接到表格的表格分开)。这是因为,正如我之前所说,我希望合并来自同一日期的不同订单,但前提是它来自同一日期。如果它来自不同的日期,那就是不同的顺序。

它最终会看起来像这样。
两列:“客户名称”和“订单”。
两个条目:John's,有“橙色衬衫 + 橙色袜子”,和 Marie's,只有“橙色衬衫”。

我想澄清一下,我想要这种方式,以便不同日期的订单重复,因为在我正在处理的情况下,这意味着它是一个全新的订单。

我已经涵盖了这两个项目的连接,唯一的问题是我无法找到一种方法来验证这两个值之前是否相同。
看了半天,我发现了几个可能有用的功能。 UNIQUE(仅显示重复名称一次)和FILTER,我相信这是要走的路,但我想不出如何让它发挥作用。
当实际上有一种更简单的方法来思考这个问题时,我是不是把事情搞砸了?

根据要求,这是表单的链接:https://forms.gle/tYTW86LGZUWpTSoZ8

这里是工作表的链接:https://docs.google.com/spreadsheets/d/1IrE4OCXRkDI63MGpUMJd8_nJlGZxP5-Jf14q6v2aX04/edit?usp=sharing

【问题讨论】:

  • 您是只想要一个 Google 表格公式答案,还是也希望得到一个 Apps Script 答案?
  • 请分享一份测试表格及其表格(可公开访问),包括您目前的进度。
  • @marikamitsos 我将链接添加到底部,但我没有取得太大进展。
  • @MateoRandwolf 我更喜欢通过公式来实现,但我并不完全反对使用脚本来代替。但是,我对 Google Apps 脚本知之甚少
  • 嗨!我可以从您的工作表中看到您有一个“部分解决方案”==arrayformula( query( { "Date", 'Form Responses 1'!B1:J1; iferror(datevalue('Form Responses 1'!A2:A)), 'Form Responses 1'!B2:J }, "select Col1, Col2, Col3, max(Col4), max(Col5), max(Col6), max(Col7), max(Col8), sum(Col9), sum(Col10) where Col3 is not null group by Col1, Col2, Col3", 1 ) )。在您的情况下,这个公式不能满足什么?除了这个公式,你还想实现什么?

标签: google-sheets google-sheets-formula google-forms google-apps


【解决方案1】:

我最终在 Docs Editor Help 谷歌论坛中寻求帮助,我的问题大部分都由他们团队中的某个人解决了,这里是:

=arrayformula( 
  query( 
    { 
      "Date", 'Form Responses 1'!B1:J1; 
       iferror(datevalue('Form Responses 1'!A2:A)), 'Form Responses 1'!B2:J 
     }, 
     "select Col1, Col2, Col3, max(Col4), max(Col5), max(Col6), max(Col7), max(Col8), sum(Col9), sum(Col10) 
      where Col3 is not null 
      group by Col1, Col2, Col3", 
  1 ) 
)

相关话题的链接是here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多