首页 > 解决方案 > 在 Google 表格中将一组列合并为一个“列集”

问题描述

问题背景:

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

游戏通过水晶颜色分割角色,我想利用它来减轻寻找角色并了解其板耕状态的任务。

这是一个例子:

材 IFRIT 养殖

包含 IFRIT 召唤板耕种状态的当前状态,{n=none, r=rewarded, m=mastered}

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

SHIVA 农业

包含 SHIVA 召唤板耕种状态的当前状态,{n=none, r=rewarded, m=mastered}

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

工作表字符释放

包含有关游戏新横幅的信息,角色有一段时间获得双重经验,这说明了不同板的当前状态以及“x2”何时结束(End boosted)以帮助我提前计划。

| 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

标签: google-sheetsgoogle-sheets-formulatransposearray-formulasgoogle-sheets-query

解决方案


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, "♠&quot;&A2:H, "♦&quot;&A2:H), ))
 ,,999^99)),,999^99)), "♦&quot;)), "♠&quot;))}

在此处输入图像描述


推荐阅读