将一组列集合合并到Google表格中的一个“列集合”中

时间:2019-10-10 15:49:21

标签: google-sheets google-sheets-formula transpose array-formulas google-sheets-query

问题上下文:

我正在创建一个Google电子表格,以帮助我跟踪游戏中不同角色前进的状态,称为DFFOO。

该游戏将角色按水晶颜色划分,我想利用它来简化寻找角色并了解其棋盘养殖状态的任务。

这里是一个例子:

Sheet IFRIT农业

包含IFRIT召唤板养殖状态的当前状态,{n =无,r =已奖励,m =已掌握}

| Black  | Status | Red     | Status | ...
| Squall | m      | Vanille | r      | 
| Noctis | n      | Another | r      |

Sheet SHIVA农业

包含SHIVA召唤板养殖状态的当前状态,{n =无,r =已奖励,m =已掌握}

| Black  | Status | Red     | Status | ...
| Squall | r      | Vanille | r      | 
| Noctis | n      | Another | r      |

Sheet 字符发布

包含有关游戏新标语的信息,角色在一段时间内会获得双重体验,这说明了其他棋盘的当前状态以及“ x2”结束(结束时加注)以帮助我提前计划

| Character  | IFRIT | SHIVA | ...  | End boosted | 
| Squall     | m     |   r   | ...  |   21-Oct    |
| Vanille    | r     |   r   | ...  |   10-Oct    |

我的问题

在一个地方需要一个非常奇怪的公式:

选项1

在每个“农业”表中,我添加一个公式,将所有对列联接到单个对列中。

我在第1行的Y列上尝试过此操作

=FILTER({C3:D;E3:F;G3:H;I3:J;K3:L;M3:N;O3:P;Q3:R},LEN({C3:D;E3:F;G3:H;I3:J;K3:L;M3:N;O3:P;Q3:R}))

这种方法的问题是FILTER只能匹配1列,而不能匹配范围,因此这是行不通的。

PRO的特点是,在字符表上,我只需要在创建的范围内执行VLOOKUP,在耕作表上,我可以隐藏Y列和ab列,因此对表是透明的。

选项2:

只需对字符表进行一次修改,这是一个VLOOKUP,它可以正常工作,但是该公式变得非常复杂,因为所有分号都引用了另一个具有多个范围的表。

我想有一个适用于选项1的解决方案,所以我只需要在农作表上应用一个怪异的公式,我可以隐藏这些列,但使用它们来简化“角色发布”表上的公式,恕我直言是一种更清洁的解决方案,并且可以很好地扩展。

这方面的另一个优点是,每当我终于可以使用此功能时,我都想向DFFOO社区展示,以防他们想要使用它(这实际上是我所看到的想法的扩展),并且具有复杂的公式使之成为现实。很难扩展。

如果有人可以帮助我找出将一组不同的列连接到一个“一组列”中的解决方案,那将是完美的。

添加了一个期望值很高的Excel:https://docs.google.com/spreadsheets/d/15L5nPGfZ8OXS5Rhl3PdIVhtF7D3QzerkARskflDiJL4/edit?usp=sharing

1 个答案:

答案 0 :(得分:1)

您可以使用QUERY粉碎将任意数量的列合并为一个列:

=TRANSPOSE(QUERY(TRANSPOSE(A:D),,999^99))

将A,B,C和D列合并为一个列

然后您可以放心地将其放入FILTER中,例如通过正则表达式进行说明:

=FILTER(G:H, REGEXMATCH(TRANSPOSE(QUERY(TRANSPOSE(A:D),,999^99)), "abc|def|xxx"))

这将过滤范围G:H,其中任意联合列(A:D)至少包含3个可能的字符串(abc,def或xxx)之一


更新:

={"Character", "Status"; 
 ARRAYFORMULA(SPLIT(TRANSPOSE(SPLIT(TRIM(
 QUERY(TRANSPOSE(QUERY(TRANSPOSE(IF(A2:H<>"", 
 IF(MOD(COLUMN(A2:H), 2)=0, "♠"&A2:H, "♦"&A2:H), ))
 ,,999^99)),,999^99)), "♦")), "♠"))}

enter image description here