使用 ARRAYFORMULA 检测 Google Sheet 中的重复项

Detecting Duplicates in a Google Sheet with ARRAYFORMULA

我正在尝试构建一个如下所示的 Google Sheet:

+-------------------+-----------+
|Email              |Duplicate? |
+-------------------+-----------+
|banana@example.com |No         |
|orange@example.com |No         |
|peach@example.com  |No         |
|banana@example.com |Yes        |
|banana@example.com |Yes        |
|apple@example.com  |No         |
|peach@example.com  |Yes        |
+-------------------+-----------+

在我的示例中,第一列是用一些电子邮件地址手动填写的。第二列应该是一个公式 returns Yes 如果该值在列中 previously 重复,如果没有重复 No t.

到目前为止,我一直在尝试在 ARRAYFORMULA 中使用 VLOOKUPINDIRECT 来完成此操作。如果我能成功地获得 return 一个值,那么我可以围绕它构建 IF 到 return 我想要的字符串。但是,这不起作用。

=ARRAYFORMULA(VLOOKUP(B2:B, INDIRECT("B1:B" & ROW(B2:B) - 1), 1, FALSE))

我也尝试过使用 COUNTIF,但这似乎也不适用于 ARRAYFORMULA

我真的很感激这里有一些关于我所缺少的东西的见解。我想 ARRAYFORMULA 错了吗? INDIRECT 不是我想的那样吗?

尝试:

=ARRAYFORMULA(IF(A1:A<>"", IF(
 (COUNTIFS(A1:A, A1:A, ROW(A1:A), "<="&ROW(A1:A))>1)*
 (COUNTIF( A1:A, A1:A)>1), "yes", "no"), ))