首页 > 解决方案 > 谷歌表格自适应列表?

问题描述

所以首先让我解释一下我有什么。我有 1 个主表和 7 个类别表。每个类别表都有一个项目列表,其类别类型位于其旁边的单元格中。

像这样:

 ___________________
| item1 | Category1 |
| item2 | Category1 |
 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾

我将从这些列表中添加和删除项目,因此我希望主工作表具有自适应性。我不够先进,无法使用应用程序脚本和公式不使用 for 循环,所以有一些解决方法吗?

我最初编写了这个公式并很快意识到它不起作用,因为它将单元格编号更改为它所在的单元格。

if(Equips!$A18,Equips!$A18,
   if(Mounts!$A18,Mounts!$A18,
     if(Music!$A18,Music!$A18,
       if(Emotes!$A18,Emotes!$A18,
         if(Minions!$A18,Minions!$A18,
           if(Furniture!$A18,Furniture!$A18,
             if(Misc!$A18,Misc!$A18,
               "Error"
)))))))

我对如何使用 for 循环来计算有多少单元格有数据并输出那么多单元格及其数据有一个想法,但由于此时困倦而忘记了它。谢谢您的帮助!

举例说明:所以说装备有5个项目。主工作表将显示 5 个项目。坐骑然后有4个项目。在 5 个装备下方的主页面上,4 个坐骑会出现,但假设我去装备页面并添加第 6 个装备。主页会通过检测到装备表中的第 6 个插槽包含数据并添加第 6 个装备将 4 个坐骑向下推而自动更新。

标签: for-loopif-statementgoogle-sheetslogicformula

解决方案


这是一个解决方案

=query({Equips!A:A;Mounts!A:A;Music!A:A},"select * where Col1<>'' ")

如果你混合文本和数字,解决方案将是

=query({arrayformula(to_text(Equips!A:A));arrayformula(to_text(Mounts!A:A));arrayformula(to_text(Music!A:A))},"select * where Col1<>'' ")

https://docs.google.com/spreadsheets/d/1438PfGc9B7cJowp_YDo4v7Z-f9rVYV0n99Q-iWTstzY/edit?usp=sharing


推荐阅读