与ARRAYFORMULA(SPLIT(...))水平的gSheets

时间:2017-03-30 20:39:23

标签: arrays split google-sheets array-formulas

我正在gSheets中创建一个信息中心,以便在我公司的结算页面上报告A / B测试的关键指标。数据通过gSheets的插件自动从GA中提取,我决定使用UNIQUE(...)函数动态填充仪表板上的测试列表。反过来,这允许将每个测试(按名称)匹配的度量标准从数据转储中拉入仪表板。

案例因为它是一个动态的测试列表,会随着时间的推移而变化(目前有4个,下次可能有3个,或者7个,谁知道),我决定设置使用垂直度量水平显示名称,如下所示:

 New Users
                 | Test A | Test B | Test C | Test D |
 ----------------|--------|--------|--------|--------|
 Sessions        |
 Conversions     |
 Conversion Rate |

 Return Users
                 | Test A | Test B | Test C | Test D |
 ----------------|--------|--------|--------|--------|
 Sessions        |
 Conversions     |
 Conversion Rate |

上面的例子是我希望它看起来的样子。实际上,由于识别关键字,测试名称非常长,这有助于GA,但却无法分辨电子表格仪表板中的哪个。测试名称在最后。

以下是我正在使用的内容: Optimizely_AB_Test_Alternate_Billing_(Prod)(Property) (AccountNum): devicesImage

我想在“”上拆分名称,最好是使用arrayformula,因此它会水平填充,但是很多列都有测试。然后我可以使用全名隐藏行(允许它仍然用于参考),同时显示较短的名称,以便人们可以告诉测试是什么。

问题:我一直试图让arrayformula水平移动,

当前方法: =ARRAYFORMULA(TRANSPOSE(SPLIT(A13:13," ")))

当前进场输出:

                 | coversImage | blank | blank | blank
 ----------------|-------------|-------|-------|-------|
 Sessions        |
 Conversions     |
 Conversion Rate |

期望的输出:

                 | coversImage | devicesImage | lifestyleImage | stringCentered |
 ----------------|-------------|--------------|----------------|----------------|
 Sessions        |
 Conversions     |
 Conversion Rate |

1 个答案:

答案 0 :(得分:0)

我必须假设你的测试名称最初是这样的:

  

Optimizely_AB_Test_Alternate_Billing_(Prod)(Property)(AccountNum):   devicesImage Optimizely_AB_Test_Alternate_Billing_(Prod)(Property)   (AccountNum):coversImage   Optimizely_AB_Test_Alternate_Billing_(Prod)(Property)(AccountNum):   lifestyleImage Optimizely_AB_Test_Alternate_Billing_(Prod)(Property)   (AccountNum):stringCentered

在这种情况下,我们可以使用正则表达式提取所有内容": "

=ArrayFormula(TRANSPOSE(REGEXEXTRACT(E26:E29, "(?:\: )(\w*)$")))