2015-05-18 50 views
1

,我有以下類型的數據:返回多行

+---------------+-------------------------+---- 
| time   | item     | line index number 
+---------------+-------------------------+---- 
| 05:00:00  |       | 1 
| 05:00:01  | MatchingValue   | 2 
| 05:15:00  |       | 3 
| 06:00:00  | B      | 4 
| 06:01:00  |       | 5 
| 06:45:00  |       | 6 
| 07:00:00  | MatchingValue   | 7 
| 07:15:00  |       | 8 
| 08:00:00  |       | 9 
| 09:00:00  |       | 10 
+---------------+-------------------------+ 

我所試圖做的是之前和之後的提取多行與item == "MatchingValue"匹配的行以及匹配的行本身。那些返回多行是在15分鐘內的時間,其中item == "MatchingValue"

例如,如果我在第二列搜索"MatchingValue",我想獲得行1,2,3和6,7,8 。

我知道可以通過使用數組公式(例如Index和Match)同時得到第2,7行的返回值。但我真的不知道如何使用數組公式來處理我自己的問題。

我很感激任何幫助。

+0

你能展示一個你想要的輸出的例子嗎?你想要一行還是多行?你嘗試過使用OFFSET嗎? –

回答

1

最簡單的方法是添加助手列並過濾數據,或者只使用數據透視表來獲取所需的數據。
幫助程序列中的公式:=or(b2="MatchingValue",countifs(b:b,MatchingValue,A:A,">=" & A2-1/(24*4),A:A,"<=" & A2+1/(24*4))>0)
當然,您也可以編寫數組公式來收集新數據範圍內的數據,但是考慮到您的複雜標準和可變數量的結果實際上是一個複雜的公式。