有没有办法检查工作表中的每一行,直到公式返回 true?

问题描述 投票:0回答:1

问题:遍历 Sheet1 中的列表(从上到下)并检查该值在 Sheet2 中是否重复多次。如果该值在 Sheet2 中重复多次,则返回该值,如果该值在 Sheet2 中未重复多次,则检查 Sheet1 中列表中的第二个值(然后检查值 3,依此类推)。

我尝试过使用 countif 函数,但我遇到的问题是,如果方程返回 FALSE,我正在寻找的值需要更改。

e.x

表1

  • ...

表2

  1. (检查单元格 A2)- 狗
  2. COUNTIF(Sheet2!A:A,Sheet1!A2)>1 = FALSE -> 没有返回值,检查列表中的下一个
  3. (检查单元格 A3)- 猫
  4. COUNTIF(Sheet2!A:A,Sheet1!A3)>1 = TRUE -> 返回值 = Cat

方程在此停止,因为公式已返回 TRUE。

由于单元格 A2 将返回 false,因此方程必须继续检查单元格 A3 是否在 Sheet2 中重复,但我不知道如何才能做到这一点。

截至目前,我已经通过使用 IFS 函数并键入要执行的所有步骤来暴力破解它,因为列表中只有 30 个值。但正因为如此,它也让我的方程变得非常大。

我知道这可能可以使用其他方法来解决,但我不知道如何使用或操作它们。我愿意尝试不同的事情,但我更喜欢有一个方程式来解决我的问题。

这是我第一次发帖,如果我让您感到困惑或者问题具有误导性,我们深表歉意。 预先感谢。

google-sheets google-sheets-formula
1个回答
0
投票

使用循环值的单个结果进行分析的一个好方法是使用 REDUCE。我所说的是,如果该值一直为 FALSE,则尝试计算下一个,否则保留第一个符合条件的值。

    =REDUCE(FALSE,TOCOL(Sheet2!A:A,1),LAMBDA(a,v,
IF(a=FALSE,IF(COUNTIF(A:A,v)>1,v,FALSE),
a)))
© www.soinside.com 2019 - 2024. All rights reserved.