2017-05-05 7 views
1

私は、人々が何かを売りたいと提出した日付のリストを持っており、売り手が実際に売ることができる2週間ごとの売り窓口があります。vlookupが2つの日付の間にある場合、前の1つを返します

私は(販売Windowsは13.07にあったし、27.07。。)これらの販売ウィンドウのリストを持つすべての日付でリストを一致させたい、しかし(TRUEを使用して)簡単なVLOOKUP関数は、私にこのような何かを返します。

売り手
投稿する|売り手ウィンドウ(vlookupを売り手ウィンドウリストから使用)
13.07.2016 |対応する販売ウィンドウは13.07になります。ここをクリック
14.07.2016 |しかし27.07。ここから。
2016年7月14日
2016年7月14日
2016年7月14日
2016年7月18日
2016年7月18日
2016年7月20日
2016年7月20日
2016年7月20日
2016年7月21日
2016年7月21日
22.07.2016
25.07.2016 |ただし、vlookupは13.07を返します。ここまでそして
27.07.2016 | 27.07。この日以降の販売窓口としてのみ。
2016年7月28日
2016年7月28日

は、誰もが、私はこの問題を解決する方法を知っていますか?

+1

完全一致と不正確な一致の組み合わせを使用することはできますが、少し後まで回答することはできません。 –

+0

@ykjkあなたは私の答えを読みましたか? – Jordan

答えて

1

これは私の考えでした。

完全一致は(13/7/16用など)を成功した場合、正確な一致は(14/7/16用など)に失敗した場合、列B.

の一致する行からの結果を取る行います不正確な一致とは、列Bの次の行からの結果を取る

=INDEX($B$2:$B$5,IFERROR(MATCH(A2,$B$2:$B$5,0),MATCH(A2,B$2:$B$5,1)+1)) 

enter image description here

ちょうど完全のために、ここでVLOOKUP式

あります3210

とMOD

=IF(MOD(A2-$B$2,14),A2+14-MOD(A2-$B$2,14),A2) 

を使用して別の式が、最後の2は販売の日付の間の14日間の定数差を前提としています。最初の数式は、販売日が質問に記載されているリストとして利用可能である場合、祝日などを許可できるので、より柔軟性があります。

+0

どのような美しい解決策ですか?私のデータに油を注いだ機械のように滑らかに働いた!どうもありがとう! – ykjk

+0

ありがとう、大変感謝しています。 –

0

あなたの日付が日付形式であると仮定します - あなたのvlookupで日付から1を引いてください。あなたのvlookupは2週間早くなります。

これを修正するには、vlookupの結果に14を追加します。

= VLOOKUP(D4-1、$ F $ 3:$ F $ 6,1)+14

あなたのリストの日付が列Dにあり、あなたの販売の日付が列にある

はF.

+0

悲しいことに祝日のために、売り窓は必ずしも正確に14日離れていない、そうでなければ良い考え! ;) – ykjk

+0

この場合、インデックスマッチでそれが行われます。 = INDEX($ F $ 3:$ F $ 6、(D3-1)、$ F $ 3:$ F $ 6,1)+1 – Jorvik77

1

あなたはすることができます値を検索するには関数をINDEX関数と組み合わせて使用​​してください。これにより、MATCH関数の一部を構成するmatch_typeパラメータの恩恵を受けることができます。

ここmatch_typeパラメータに関するいくつかの情報があります:MATCH_TYPEが1であるか省略された場合

マッチタイプ情報

  • 、MATCHは以下検索値に等しい最大値を求めます。 lookup_array引数の値は、たとえば... ... 2、-1,0,1,2、...、A-Z、FALSE、TRUEのように昇順に配置する必要があります。
  • match_typeが0の場合、MATCHはlookup_valueと正確に等しい最初の値を見つけます。 lookup_array引数の値は、任意の順序で指定できます。
  • match_typeが-1の場合、MATCHはlookup_value以上の最小値を検出します。 lookup_array引数の値は、TRUE、FALSE、Z-A、... 2,1,0、-1、-2、...のように降順で配置する必要があります。、 等々。

(出典:https://support.office.com/en-gb/article/MATCH-function-e8dffd45-c762-47d6-bf89-533f4a37673a

これは、あなたがそう長くあなたlookup_array(販売窓)として-1match_typeを利用できることを意味して降順に配置されています!

式は次のようになります:あなたの販売ウィンドウがC2:C3である

=INDEX($C$2:$C$3,MATCH(A1,$C$2:$C$3,-1)) 

を、あなたの提出期日は、列Aであり、式は例えば、列Bである:

| A   | B   | C    | 
    |------------+------------+-----------------| 
1| Submitting | Lookup  | Selling Windows | 
    |------------+------------+-----------------| 
2| 13/07/2016 | 13/07/2016 | 27/07/2016  | 
3| 14/07/2016 | 27/07/2016 | 13/07/2016  | 
4| 15/07/2016 | 27/07/2016 |     | 
5| 16/07/2016 | 27/07/2016 |     | 
6| 17/07/2016 | 27/07/2016 |     | 
7| 18/07/2016 | 27/07/2016 |     | 
8| 19/07/2016 | 27/07/2016 |     | 
9| 20/07/2016 | 27/07/2016 |     | 
10| 21/07/2016 | 27/07/2016 |     | 
11| 22/07/2016 | 27/07/2016 |     | 
12| 23/07/2016 | 27/07/2016 |     | 
13| 24/07/2016 | 27/07/2016 |     | 
14| 25/07/2016 | 27/07/2016 |     | 
15| 26/07/2016 | 27/07/2016 |     | 
16| 27/07/2016 | 27/07/2016 |     | 
関連する問題