Excel:是否有一个函数返回满足匹配条件的范围?

时间:2012-11-02 02:42:54

标签: excel

给定一个值与后续行(在同一列上)进行比较,并将该范围返回到值第一次更改的行。

Example:
   A
1  cat
2  cat
3  cat
4  dog
5  cat

要返回的范围是A1:A3。

2 个答案:

答案 0 :(得分:4)

假设您在单元格c1中有猫,则以下公式将返回第一个连续匹配范围。输入 ctrl + shift + 输入

=COUNTIF(OFFSET(A1:A5,MATCH(C1,A1:A5,0)-1,0,MATCH(TRUE,OFFSET(A1:A5,MATCH(C1,A1:A5,0),0)<>C1,0)),"cat")

如果您的数据始终以A1开始并且您希望整个范围与第一个值匹配,一直到下一个值,请使用以下数组公式(使用 ctrl + shift输入 + 输入):

=OFFSET($A$1,0,0,MATCH(TRUE,A:A<>A1,0)-1)

答案 1 :(得分:1)

这可用作数组公式。在公式栏中按 ctrl + shift + 输入进行评估。我已经测试过这个非常简单的案例。我无法说出更复杂的案例:

=INDIRECT("A1:A" & MAX(ROW(A1:A5)*(A1:A5="cat")*(A2:A6<>"cat")))

编辑:如果你真的想要返回范围而不是值,你只需删除INDIRECT但保留其中的所有内容。

相关问题