在 Excel 2007 中,我有一张包含数据“A”的工作表。工作表“B”中的其中一列称为“有效”,其值为“是”或“否”。
我创建了第二张工作表“B”。如果行有效,则在每个单元格中使用“if”语句可以轻松使“A”中的每一行出现在“B”中。但如果无效,则会出现一个空白行。
我需要“B”仅显示“A”中有效的行。两个重大警告: - 没有宏 - 没有过滤(原因很长且很复杂)。
我觉得如果巧妙使用 vlookup 的话可能会有效果,但是到目前为止,我还是很困惑。
答案1
我认为您不能使用 VLookup 来做您想做的事情,因为它实际上不是 SQL 意义上的“查询”。Excel 没有查询语言。
您可以使用数据|获取外部数据|从 Microsoft Query 下的 MS Query。
选择您的 XLSX 文件作为源,然后在“选项”下,您需要选择“系统表”以查看您创建的列。然后您可以构建一个简单的查询来选择您需要的内容。如果您的文件需要经常移动,那么唯一可行的方法是将源和目标工作表拆分为单独的 XLSX 文件。
另一种选择可能是数据透视表,其中有效性列位于报告过滤器中,A 列位于行标签中。然后,您可以在报告过滤器中过滤掉无效行。