2017-08-28 13 views
0

このコンセプトには問題があるので初心者であることをお詫び申し上げます。私は本当にどこから始めるべきか分かりません。私は次の操作を実行するために「更新ボタン」を使用してシート2のコード必要マクロexcel:値を貼り付けて2つのセルを更新する

:シート1で

を、この情報は重複として別のチームリーダーから来るかさえも例に示されているレコードを三つ組「ノー被せます。 1.2 'が発生する可能性があります。シート2において

は、「座席番号」の下で、これは一定であり、「ユーザ1」の下で、(私の他のピボットと参照コードのための私の基準となる)コードをシート2列に

を変更することはありません検出された最初の値を貼り付けます。 'User2'の下で、コードは検出された2番目の値を貼り付けます。割り当てなしでは、コードは検出された3番目の値を貼り付けます

ステータスの下のシート2の列には、1ユーザーのみの場合は「ソロ」、2人のユーザーの場合は「共有」、ユーザーがない場合は「空き」が表示されます。

注:2つだけのユーザーはすべての座席番号

Simplified data for seat plan with sharing

のために許可されているが、あなたが私を助けることができる願っています。ありがとうございました

+3

あなたが使用している現在のコードを親切に共有してください。 –

+0

SOは無料のコーディングサービスではありません。 "私はどこから始めるべきかわかりません" - 研究を始め、いくつかのコードを書くことから始めます。その後、特定のポイントに遭遇したときにあなたの質問を更新してください。 –

答えて

0

これのためにマクロを使う必要はありません。

= IF(ISERROR(VLOOKUP(Sheet2のA2、Sheet1の$ A $ 2::!!$ B $ 50,2,0))、 ""、VLOOKUP(Sheet2のA2、Sheet1の!ユーザー1列でこれを使用します!$ A $ 2:$ B $ 50,2,0))、

ここで、50は行数で置き換えられます。 ユーザー2使用で

この:

= IF(SUMIF(Sheet1の$ A $ 2:!!$ A $ 50と、Sheet2のA2)> 1、OFFSET(ISERROR(VLOOKUP(Sheet2のA2、(IF! (シート2!A2、シート1!$ A $ 2:$ A $ 50,0)、2) 、2,0))、VLOOKUP(Sheet2!A2、OFFSET(Sheet1!$ A $ 2、MATCH(Sheet2!A2、Sheet1!$ A $ 2:$ A $ 50,0)、0,7-MATCH(Sheet2 !A2、Sheet1!$ A $ 2:$ A $ 50,0)、2)、2,0))、 "")

そして、50をあなたの行の数で置き換えてください。

ステータスカラムで、 IFとSUMIFを使用します。

列の割り当てを解除するには、最初の列のようにvlookupを使用します。それについての記事がたくさんあります。開始時に使用するのを忘れないでください。座席IDが3つあるかどうかをチェックします。

0

あなたがそうすることを主張しない限り、これは、VBAを必要としない:

User1のコラム:

=IFERROR(IF(VLOOKUP(A2,Sheet1!$A$2:$B$9,2,0)=0,"",VLOOKUP(A2,Sheet1!$A$2:$B$9,2,0)),"")

User2の列(配列数式、Ctrl + Shift + Enterキーを同時に押しを) :

=IFERROR(INDEX(Sheet1!$B$2:$B$9,SMALL(IF($A2=Sheet1!$A$2:$A$9,ROW(Sheet1!$A$2:$A$9)-ROW($A$2)+1),2)),"")

ステータスコラム:

=IF(COUNT(B2:C2)=0,"Vacant",IF(COUNT(B2:C2)=1,"Solo","Sharing"))

割り当て解除列(配列数式、Ctrl + Shift + Enterキーを同時に押し):

=IFERROR(INDEX(Sheet1!$B$2:$B$9,SMALL(IF($A2=Sheet1!$A$2:$A$9,ROW(Sheet1!$A$2:$A$9)-ROW($A$2)+1),3)),"")

は、この情報がお役に立てば幸いです。

関連する問題