过滤一个 sheet, A, 与另一个, B, 得到一个新的 sheet, C, 具有 B 中不存在的行

Filter one sheet, A, with another, B, to get a new sheet, C, with rows that don't exist in B

我正在尝试清除库存列表中的不良数据。

Sheet A 是一个 sheet,它是我所有产品的列表。

Sheet B 是一个 sheet,由另一个软件生成,它列出了我所有已售出的产品

我需要生成第三个 sheet、Sheet C,列出所有未售出的产品。因此,Sheet B 和 Sheet C 之间的行数加起来应该等于 Sheet A 上的总行数。

我如何cross-reference/filterSheetA与B实现C?

以下公式 return 是工作表 1 的 A 列中不存在于工作表 2 的 A 列中的条目列表:

=filter(Sheet1!A2:A, isna(match(Sheet1!A2:A, Sheet2!A2:A, 0)))

解释:match returns 错误代码 #N/A 对于 Sheet1!A2:A 中的条目,在 Sheet2!A2:A 中找不到。 isna 函数将它们转换为 True 布尔值。最后,filter returns 那些第二个参数计算结果为 True 的行。

过滤器可以 return 多列:例如,可以是

=filter(Sheet1!A2:Z, isna(match(Sheet1!A2:A, Sheet2!A2:A, 0)))

但是match需要一个一维的范围,所以你需要一个列(这里假设是A)作为行的标识。