Excel - 获取两行之间的数据范围
Excel - get range of data between two rows
我有以下模式的数据:
我想要一个公式来获取 Content Start 和 Content End 之间的数据。开始和结束之间的内容不只限于4个,可以改变。
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
可能有多种方法可以做到这一点,但如果您更愿意在没有 VBA 的情况下做到这一点,您可以使用:
B1
中使用的公式(虽然有点冗长):
{=INDEX($A:$A,SMALL((ROW($A:$A)>MATCH("Content Start",$A:$A,0))*(ROW($A:$A)<MATCH("Content End",$A:$A,0))*ROW($A:$A),SUM((ROW($A:$A)>MATCH("Content Start",$A:$A,0))*(ROW($A:$A)<MATCH("Content End",$A:$A,0)))+ROW(A3)))}
注意是通过CtrlShiftEnter
输入的数组公式
往下拉....
你没有说你想用这个结果做什么。
我假设您可以对数据所在的列进行编码。
下面的公式将 return 这些值作为数组。例如使用您的数据,公式将 return {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
中,转置数组位于工作表上的其他地方,不在视图中:
我有以下模式的数据:
我想要一个公式来获取 Content Start 和 Content End 之间的数据。开始和结束之间的内容不只限于4个,可以改变。
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
可能有多种方法可以做到这一点,但如果您更愿意在没有 VBA 的情况下做到这一点,您可以使用:
B1
中使用的公式(虽然有点冗长):
{=INDEX($A:$A,SMALL((ROW($A:$A)>MATCH("Content Start",$A:$A,0))*(ROW($A:$A)<MATCH("Content End",$A:$A,0))*ROW($A:$A),SUM((ROW($A:$A)>MATCH("Content Start",$A:$A,0))*(ROW($A:$A)<MATCH("Content End",$A:$A,0)))+ROW(A3)))}
注意是通过CtrlShiftEnter
输入的数组公式往下拉....
你没有说你想用这个结果做什么。
我假设您可以对数据所在的列进行编码。
下面的公式将 return 这些值作为数组。例如使用您的数据,公式将 return {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
中,转置数组位于工作表上的其他地方,不在视图中: