我的excel表格中有以下结构。
A B
--------- -----
1 | category1 test1
2 | category1 test2
3 | category1 test3
4 | category2 test4
5 | category2 test5
6 | category3 test6
7 | category3 test7
8 | category3 test8
9 | category3 test9
10 | category4 test10
您能否建议使用 EXCEL函数(非VBA )获取范围或实际值< / strong>给出类别文本作为输入?
例如,给定category2
我需要取回B4:B5
或"test4"/"test5"
我需要一种动态执行此操作的方法,即如果我执行插入并向类别添加新值,则需要一个仍然有效的函数,例如
A B
--------- -----
4 | category2 test4
5 | category2 test5
6 | category2 test200
7 | category2 test203
现在给我category2
我会回来B4:B7
答案 0 :(得分:2)
假设类别总是连续的,您可以参考:
=OFFSET($A$1,MATCH("category2",$A:$A,0)-1,1,COUNTIF($A:$A,"category2"))
答案 1 :(得分:0)
如果您的类别始终以相同的前缀开头,则可以使用以下内容:
=ADDRESS(MATCH("category"&$C$1,B:B,0),2,4,1)&":"&ADDRESS(MATCH("category"&($C$1+1),B:B,0)-1,2,4,1)
因此,如果你在C1中加上“2”,它将返回“B4:B5”
这也假定类别以递增的值命名,因此如果没有category3则不起作用。