0

私は初心者ですが、Excel VBA の機能に魅了されています。各シンボルの最初の 3 つの日付をコピーして新しいシート (Sheet2) に貼り付けるマクロの作成について助けが必要です。

以下は私が持っているデータ(Sheet1)です...

A       8/17/2013
A       9/21/2013
A      11/16/2013
A       1/18/2014
A       2/22/2014
A       1/17/2015
AA       8/9/2013
AA      8/17/2013
AA      9/21/2013
AA     10/19/2013
AA      1/18/2014
AA      1/17/2015
AAN     8/17/2013
AAN     9/21/2013
AAN    11/16/2013
AAN     2/22/2014
AAP     8/17/2013
AAP     9/21/2013
AAP    12/21/2013
AAP     1/18/2014
AAP     3/22/2014
AAP     1/17/2015
AAPL     8/9/2013
AAPL    8/17/2013
AAPL    8/23/2013
AAPL    8/30/2013
AAPL     9/6/2013
AAPL    9/21/2013
AAPL   10/19/2013
AAPL   11/16/2013
AAPL    1/18/2014
AAPL    4/19/2014
AAPL    1/17/2015
AAWW    8/17/2013
AAWW    9/21/2013
AAWW   11/16/2013
AAWW    2/22/2014

問題は、Sheet1 のすべてのシンボルが必要ないことです。Sheet2 に必要な特定のシンボルがあります。また、シート 2 には、シンボル名をコピーして貼り付けたシンボルごとに 3 つの行が既にあります。

だから私が欲しいのは、シート1のシンボルがシート2のシンボルと等しい場合、日付をコピーするようなものですが、最初の日付ではなく最初の3つの日付が3回繰り返される..

目的のシート2は次のようになります

A       8/17/2013
A       9/21/2013
A      11/16/2013
AAWW    8/17/2013
AAWW    9/21/2013
AAWW   11/16/2013

左の列には既に記号が表示されていることを思い出してください。各シンボルの一致する最初の 3 つの日付が必要です..

誰でもこれで私を助けることができますか?事前に誰かの助けに感謝します。

4

3 に答える 3

0

VBA はまったく必要ありません。ワークシートの数式で簡単に処理できます。

  =OFFSET(Sheet1!$A$1,MATCH(A1,Sheet1!$A$1:$A$37,0)-1+MOD(ROW(A1)+2,3),1,1,1)

この数式は、ソース データと結果セットの両方がそれぞれのシートの行 1 から始まることを前提としています。結果セットが行 1 で始まらない場合はMOD(ROW(A1)+2),3)、式の句を調整する必要があります。これにより、シートにコピーされるときに系列 0、1、2、0、1、... などを生成する必要があります。


ここに画像の説明を入力

于 2013-08-09T18:15:08.027 に答える