gSheets-根据通用键(日期)连接两个不同的行大小选项卡(表格)

时间:2018-10-16 12:05:24

标签: google-sheets spreadsheet

问题:我正在寻找一种方法来将gSheet文件中的两个数据表合并。我有一种日期,展示次数,点击次数,另一种有3种不同的转化类型(包括日期)。两张纸的长度不同(一个日期不仅在一行中)。我想创建一个包含日期,展示次数,点击次数和所有转化类型的“母版”工作表,其中每个日期只有一次。如果任何工作表中都没有特定日期的数据,则可以将其留空。如果两个工作表中都没有数据,则日期甚至可以跳过,对我而言无关紧要。范围的大小可能千差万别,并且会有很多数据(超过10k行)。我尝试搜索解决方案(vlookup + arrayformula,查询等),但是由于范围大小不同,因此没有任何建议起作用。

此处的示例数据表:https://docs.google.com/spreadsheets/d/1s5D9GI9cSQrc3Hpv8fOqw7c1Ae9UaX5N0IXO-OtF7GM/edit?usp=sharing

背景:我正在尝试在gSheets中构建一个营销仪表板,以导入到Data Studio。虽然Data Studio支持数据混合(我在这里正在寻找),但它不支持混合数据中的计算指标。因此,我打算用“混合”数据和所有指标创建一个Google表格,然后将其导入Data Studio。

非常感谢!

1 个答案:

答案 0 :(得分:0)

如果我对您的理解正确,则需要为每列使用不同的公式。第一个列出了第一个工作表中的所有唯一值,您的示例将其称为“ Adwords数据”。公式如下:

其余的仅使用带有sumif的Arrayformula函数对每个日期的总数求和。将其放置在第二行中,以便可以有标题行,是这样做的一种方法。对于印象数,它变为:

=arrayformula(if(A2:A > 0;sumif('AdWords Data'!A2:A;A2:A;'AdWords Data'!B2:B);))

arrayformula()函数允许我们将其余部分应用于工作表中的每一行。在其中,我们从一个IF()开始,该IF()用于防止将值放入没有日期的行中。注意与Excel的区别,在IF()函数的最后一部分没有值,尤其是没有“”的情况下,该值实际上会在单元格中放置一个值。这不是错字,所以请不要添加引号。您不会看到它,但是您编写的函数和任何自定义代码都将使您发疯,试图找出原因。 IF()语句检查以查看列A是否具有值。如果是这样,则应用SUMIF()函数。如果同一工作表中A列的内容与该工作表的A列的内容匹配,那么我们在这里汇总了“ AdWords数据”工作表中B列的项目。添加新数据将自动扩展此处报告的值。

要避免对其进行编辑,请对此进行更改,将其放在“标题”行中,并在第一行中添加标题:

=ARRAYFORMULA(IF(ROW(A1:A)=ROW(A1);"Impressions";if(A1:A > 0;sumif('AdWords Data'!A1:A;A1:A;'AdWords Data'!B1:B);)))

这从IF语句开始,该语句检查以查看arrayformula正在处理的Row。如果它是第一行,则会在页眉中放置“展示次数”。如果是其他任何行,则从上方应用IF()函数。

我将所有公式放在样例文件“ KS Sample”中,第二个版本放在H列中。

如果我误解了您,我深表歉意。如果是这种情况,请您为您期望结果的样子制作一张样本纸吗?

关于, 卡尔S