给定一个值与后续行(在同一列上)进行比较,并将该范围返回到值第一次更改的行。
Example:
A
1 cat
2 cat
3 cat
4 dog
5 cat
要返回的范围是A1:A3。
答案 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但保留其中的所有内容。