Google表格在FILTER()中嵌入了IF()

时间:2017-01-19 23:55:18

标签: google-analytics google-sheets

我使用来自GA的数据,并以不同的方式将其分组到Sheets中创建仪表板。数据主要是着陆页,设备类型,会话。

我根据设备类型拆分每个目标网页的会话,每种设备类型都有自己的工作表:桌面设备,平板电脑和移动设备。我还创建了一个摘要表,它是 - 你猜对了 - 相同的数据,但没有拆分成设备类型。

所有的说法和完成,由于数据量很小,仪表板非常平庸。我相信这至少可以通过使用数据验证下拉列表来更好地呈现,以允许人们在摘要表上选择他们的设备类型,从而导致数据更新为所选的设备类型。这样,只有一张纸。 (即。我不是在标签之间切换,而是选择"桌面"从摘要表的下拉菜单和所有数据更新中仅显示桌面数字。)

我认为这可以通过我的过滤器中的嵌入式IF()语句来完成。麻烦的是,我不确定如何让ELSE结果返回我需要的东西。

预期结果:返回与目标网页和设备类型匹配的会话总和(如果已选中),或者返回所有设备的总和(如果" all"地选择。

实际结果:选择匹配着陆页和设备类型的会话总和(yay!),但是当" all"时返回0地选择。

当前公式:

=SUM(
IFERROR(FILTER(
    'funnelflow-2steps'!C2:C,
    'funnelflow-2steps'!A2:A="/maple/",
IF(B13<>"all",
    'funnelflow-2steps'!B2:B=B1,""))
,0)
)
  • 这会调用登录页面/ maple /与单元格B1中的设备类型匹配的总会话数
  • 其中B1 =具有数据验证下拉列表的单元格,其中包含&#34;所有&#34;,&#34;桌面&#34;,&#34;平板电脑&#34;和&#34;移动& #34;

示例数据(这将在引用的 funnelflow-2steps 表上):

 landingPagePath | deviceCategory | sessions
-----------------|----------------|----------
 /chestnut/      | desktop        |        5
 /chestnut/      | tablet         |        2
 /chestnut/      | mobile         |        3
 /maple/         | desktop        |        1
 /maple/         | desktop        |        7
 /maple/         | mobile         |        6

编辑:我把公式里面翻了出来,以为外面的IF()可以用ELSE条件解决我的问题。不幸的是,这以解析错误结束。

=IF(B1="All",
SUM(IFERROR(FILTER(
    'funnelflow-2steps'!D2:D,
    'funnelflow-2steps'!A2:A="/maple/"),0))
SUM(IFERROR(FILTER(
    'funnelflow-2steps'!D2:D,
    'funnelflow-2steps'!A2:A="/maple/",
    'funnelflow-2steps'!B2:B=B1),0)))

1 个答案:

答案 0 :(得分:0)

没关系,明白了!我不得不将它翻出来并记住THEN和ELSE之间的逗号。不像SQL FFS。

=IF(B1="All",
SUM(IFERROR(FILTER(
    'funnelflow-2steps'!D2:D,
    'funnelflow-2steps'!A2:A="/maple/"),0)),
SUM(IFERROR(FILTER(
    'funnelflow-2steps'!D2:D,
    'funnelflow-2steps'!A2:A="/maple/",
    'funnelflow-2steps'!B2:B=B1),0)))