答案 0 :(得分:2)
您没有说出要对此结果做什么。
我假设您可以对数据所在的列进行编码。
以下公式将这些值作为数组返回。例如根据您的数据,公式将返回{1;2;3;4}
值可以是数字或文本。
如何处理这些值取决于您。
=INDEX($A:$A,N(IF(1,ROW(INDEX($A:$A,MATCH("Content Start",$A:$A,0)+1,1):INDEX($A:$A,MATCH("Content End",$A:$A,0)-1,1)))))
编辑:这是一个使用该信息创建迷你图的示例。在此示例中,以上公式已包装在TRANSPOSE
中,并在C1:I1
中作为数组公式输入。已在B1
中输入迷你图。与大多数图表一样,Excel忽略了#N/A
错误。
下面是一个示例,其中的迷你图位于A1
中,而转置的数组位于工作表上的其他位置,而不在视图中:
答案 1 :(得分:1)
With Worksheets("Your Sheet").Range("A:A")
Set c = .Find("Content Start", LookIn:=xlValues)
Set d = .Find("Content End", LookIn:=xlValues)
ActiveSheet.Range(Cells(c.Row + 1, c.Column), Cells(d.Row - 1, c.Column)).Select
End With
答案 2 :(得分:1)
执行此操作的方法可能多种多样,但是如果您更喜欢在不使用VBA的情况下执行此操作,则可以使用:
B1
中使用的公式(虽然有点冗长):
{=INDEX($A$1:$A$10,SMALL((ROW($A$1:$A$10)>MATCH("Content Start",$A$1:$A$10,0))*(ROW($A$1:$A$10)<MATCH("Content End",$A$1:$A$10,0))*ROW($A$1:$A$10),SUM((ROW($A$1:$A$10)>MATCH("Content Start",$A$1:$A$10,0))*(ROW($A$1:$A$10)<MATCH("Content End",$A$1:$A$10,0)))+ROW(A3)))}
请注意,这是通过 Ctrl Shift Enter
输入的数组公式向下拖动......