2017-10-24 7 views
0

データセットが表示されています。 別のデータセットに基づいてセルデータを生成または入力する

    • 従業員名
    • 日付は時間の作業が
    • タイムの仕事は、今、私は私が選択することができ、シートのようなレポートを持ってしようとしています

    dataset

    を終了し始めました特定の月に出席した従業員のリストから特定の従業員名を表示します。

    report

    私はVLOOKUPを試みたが、私は2つの列に加えて、行で検索する必要があるので、何もどこに行ったん。

    これは可能ですか?マクロまたはvbaなし。 ありがとう

  • +0

    1人の従業員は、ある日に2つの異なる「時刻」または「タイムアウト」、つまり名前と日付の一意の識別子がある可能性はありますか? – Roosz0rd

    +0

    名前と日付は一意になります。 2つの異なる「時間」または「タイムアウト」はありません – dhuvvamundha

    +0

    sumifsを使ってみましたか? – Roosz0rd

    答えて

    0

    名前と日付は固有の識別子なので、sumifs関数を使用できます。レイチェルと日付も参照細胞であることができる

    =Sumifs(column ‘time in’ from data set, column ‘name’ from dataset, “Rachel”, column ‘date’ from data set, “10/01/2017”) 
    

    を次のように「内の時間」と「レイチェル」は、これが見えるでしょうについては

    0
    =AGGREGATE(15,6,ROW(SHEET1!$A$2:$E$22)/((SHEET2!$B$1=SHEET1!$B$2:$B$22)*(SHEET2!$A4=SHEET1!$C$2:$C$22)),1) 
    

    上記の数式は、条件に一致する行番号を取得します。必要な情報を引き出すためには、次の手順を取得するにはINDEX数式内の行番号を置くことができます。

    =INDEX(SHEET1!$D:$E,AGGREGATE(15,6,ROW(SHEET1!$A$2:$E$22)/((SHEET2!$B$1=SHEET1!$B$2:$B$22)*(SHEET2!$A4=SHEET1!$C$2:$C$22)),1),COLUMN(A1)) 
    

    あなたはあなたの最初の時間セルに上記を置き、右と下にコピーすることができます。条件が存在しない場合、エラーが表示されます。その名前の人物も、その人物の日付データもありません。これを避けるために、あなたは以下のようにIFERRORに全体をラップすることができます:あなたがあることを0にしたい場合は

    =IFERROR(INDEX(SHEET1!$D:$E,AGGREGATE(15,6,ROW(SHEET1!$A$2:$E$22)/((SHEET2!$B$1=SHEET1!$B$2:$B$22)*(SHEET2!$A4=SHEET1!$C$2:$C$22)),1),COLUMN(A1)),"Nothing found") 
    

    するのではなく、空白は何も見つかったディスプレイよりもに「」または0「が見つかり何も」変わらないならば表示されます。

    注:この場合、集計は配列のような計算を実行しています。そのため、不要な計算が多く発生するため、完全な列参照は望ましくありません。ユニークなエントリがあるので、別の答えで与えられたSUMIFSオプションはもっと良い選択です。

    0

    私はピボットテーブルがあなたのために仕事をすると思います。

    1. フィルタに入れ従業員名を、日付回行のを置きます。
    2. あなたが持っている次にグループ解除

      enter image description here

    に表形式にピボットテーブルから
  • 変更テーブルのレイアウトを小計を削除し、
  • 右で時間をクリックして行を繰り返し、選択下の画像。

    enter image description here

  • 0

    私は、次のようなレイアウトを持っている:B11では

    enter image description here

    は、この式を書き、下にドラッグ:C11で

    =INDEX($B$2:$E$5,MATCH($B$7&$A11,$B$2:$B$5&$C$2:$C$5,0),3) 
    

    これを書いて、下にドラッグ:

    =INDEX($B$2:$E$5,MATCH($B$7&$A11,$B$2:$B$5&$C$2:$C$5,0),4) 
    

    これらは配列式なので、Enterの代わりにCTRL + SHIFT + ENTERと入力する必要があります。

    従業員が日付A11とA12のいずれかで作業していない場合、#NVエラーが発生します。したがって、これを避けるには、IFERRORで数式を囲むことができます。

    +0

    ありがとうございます。 これは非常に興味深い – dhuvvamundha

    関連する問題