2017-02-27 10 views
1

私は現在、この問題を解決しようとしています。 INDEX MATCH式を使用して複数の基準に基づいて価値を得ようとしています。次のデータセットは、参照のために以下の通りである:インデックス時間範囲(Excel)の間に複数の基準を照合

POSTは、したがって、基本的に日(正確な一致)および時間(範囲内に基づいて、TAB

Date Time Channel 
10/2/2016 1:36:27 AM 
10/13/2016 4:59:59 AM 
10/15/2016 7:21:30 PM 

見通しTAB

Time Time -5 Time +5 Date Channel 
1:25:00 AM 1:20:00 AM 1:30:00 AM 10/2/2016 Website 
1:28:00 AM 1:23:00 AM 1:33:00 AM 10/2/2016 Website 
1:35:00 AM 1:30:00 AM 1:40:00 AM 10/2/2016 Website 

をクリックTime-5とTime + 5の間の値)の値を使用する場合、「ポストクリック」データセットの「チャンネル」列に、「見通し」データセットのチャンネル値を入力します。あなたが見ることができるように、最初の行は "ウェブサイト"で埋められるべきであり、最後の2つはN/Aとして現れるべきである。

ただし、以下の式を使用すると、すべての値がN/Aになります。

=INDEX('Prospects (2)'!$F$2:$F$27054,MATCH(1,(F2='Prospects (2)'!$D$2:$D$27054)*AND('Post Click'!G2>='Prospects (2)'!$B$2:$B$27054,'Post Click'!G2<='Prospects (2)'!$C$2:$C$27054,1),0)) 

は私も含めて時間値が列時間-5およびTime + 5の間に入る場合、それは真来るように2つのロジックを含めるように機能してきました。

誰かがこの問題を解決できますか?私はstackoverflowを介して研究を試み、同様の問題を発見したが、どれも複数の基準に基づいて価値を得ることはなく、そのうちの1つは時間範囲内にある。ありがとうございました!

P.S. -5と+5は分単位です。

答えて

2

このお試しください:

$B$7:$B$9<B2  *  $C$7:$C$9>B2 * $D$7:$D$9=A2  = 
    FALSE    FALSE    TRUE   0 
    FALSE    FALSE    TRUE   0 
    TRUE     TRUE     TRUE   1 
:ここに解剖する主なものは、それが一緒に乗算され TRUE/FALSEの3つの配列を作成します ($B$7:$B$9<B2)*($C$7:$C$9>B2)*($D$7:$D$9=A2)ある

=INDEX($E$7:$E$9,SUMPRODUCT(MATCH(1,($B$7:$B$9<B2)*($C$7:$C$9>B2)*($D$7:$D$9=A2),0))) 

enter image description here

説明

TRUE=1FALSE=0を思い出してください。

だから今私たちはMATCH(1,{0,0,1},0)を持っています。この場合、3を返します。唯一の問題は、我々は我々のどちらかが + 数式を入力するを入力するか、より便利に、アレイ部分をラップCtrlキー + Shiftキーを使用する必要があるので、一緒に配列を掛けたときに我々は配列数式を使用したことです式:SUMPRODUCT

したがってSUMPRODUCT(MATCH(1,{0,0,1},0))=3と期待どおりに機能し、INDEXの機能は正常です。

+0

ありがとうCallumDA。それは完璧に動作しますが、数式を理解できるようにいくつか質問がありました。あなたがサンプツを使った理由はありますか?また、試合前の1は何ですか(参照? –

+0

こんにちは@HoyounLee、私は説明を追加するように更新しました。それがあなたの質問に答えるなら、答えを受け入れてください(左のチェックマーク) – CallumDA

関連する問題