什么 Excel 公式可以返回包含特定数据的范围内单元格的最后一行号?

什么 Excel 公式可以返回包含特定数据的范围内单元格的最后一行号?

我有一个电子表格,其默认值为“否”。随着时间的推移,这些值将更改为“是”。

我需要一个公式(请不要使用 VB,VB 对我没用),它可以让我得到单元格范围内最后一个“是”的行号,以便我可以查找另一列的该行号中的值来检索要显示的文本。

假设我在一列中有以下内容(称为 1):“是”、“是”、“是”、“否”、“否”

在引用列(称为 2)中,1、1、2、2、3

一切完成后,INDIRECT(THE_FORMULA_HERE, 2) 应该会检索到值“2”。当所有“是”都放置后,它将变为“3”,等等。

答案1

假设数据是连续的(即“是、是、是、否、否”但不是“是、是、否、是、否”),那么您可以使用以下公式:

=INDIRECT("B" & (COUNTIF(A2:A6, "Yes")+1))

这是我使用的数据:

   | A      B
---------------
 1 | Yes    1
 2 | Yes    1
 3 | Yes    2
 4 | No     2
 5 | No     3

如果您可以添加序列列,那么还有其他方法可以做到这一点,然后使用COUNTIFVLOOKUP做同样的事情。

答案2

给出 E 列包含以下内容的示例:

  Row#  Value

     1. Yes
     2. No
     3. Yes
     4. Yes
     5. Yes
     6. Yes
     7. No
     8. No
     9. Yes
     10. No

您可以使用所谓的数组公式轻松完成此操作。在此示例中,您可以键入公式=MAX(ROW(E1:E10)*IF(E1:E10="Yes",1,0)),然后按 CTRL+SHIFT+ENTER 以数组公式的形式输入公式。Excel 将在公式周围添加 {} 以表明这是一个数组公式。

答案3

我会使用 INDEX 而不是 INDIRECT,因为它是非易失性的,但如果所有“是”答案都是连续的并且没有被“否”分割,那么概念几乎相同。

=INDEX(B1:B100,COUNTIF(A1:A100,"Yes"))

将 100 替换为你实际拥有的行数

相关内容