首页 > 解决方案 > Google Sheets filter() 包裹在 arrayformula() 中,没有 vlookup()

问题描述

参考/测试表:https ://docs.google.com/spreadsheets/d/1fp6ZTBtgb5E0J9GKOqh8Ae47OzY1smec5ha9BfUfAsY/edit?usp=sharing

我有一个带有一张 ( ) 的 Google 表格文档,它calculator从另一张 ( ) 中提取一些值databasedatabase由两列组织:makemodel。我使用一些奇怪的数据验证和帮助列在calculator. 然后我filter()用来valuedatabase.

这一切都很好,但它将是一个可以重复使用并丢弃数据的计算器,所以我只需要calculator(10-20)中的有限行数。为此,如果能够选择整行并点击删除以清除计算而不破坏所有公式,那就太好了。理想情况下,这filter()将发生在arrayformula()隐藏和受保护的顶行中,以便轻松清除行。

但由于某种原因,我无法让它工作。vlookup()不是一个选项,因为我需要匹配两个键。

另一方面,不需要辅助列B:J和每行唯一的数据验证会很好。这是可行的,因为我只需要几行。在实际版本中,我隐藏和保护B:J,那里还有更多列。

标签: google-sheets

解决方案


只要您希望计算器对模型使用下拉选择,您就无法摆脱辅助列方法。下拉列表的数据验证需要一个值列表,即。静态的,所以没有好处,或者一系列单元格。

您可能想要做的是将这些单元格放在一个完全独立的选项卡中,例如。DataValidation,然后隐藏该选项卡。然后,您的计算器表将更干净,没有隐藏的列。列 K 将使用“隐藏”值(以前的列 B:J)进行数据验证,这些值现在在 DataValidation 选项卡中构建。


推荐阅读