0

1 人の従業員について複数行の情報を返す Excel のデータ クエリがあります。従業員は EmployeeID で並べ替えられ、データには給与と日付が含まれます。

従業員がワークブックの別のシートの VLookUp 内に配置する最初の賃金率を得るために、情報を日付の降順で並べ替えました。ここで、範囲内で 2 番目に早い日付を見つけることができるように、次の日付を指定する数式が必要です。これはできますか?

Data example:
1255  7.50   06/11/2012
1255  7.00   09/11/2011
1255  6.50   05/12/2011
2548  12.50  03/02/2012
2548  12.00  01/13/2012
4

2 に答える 2

0

日付または支払い率が必要ですか?それが日付の場合、E2 に従業員 ID があり、F2 にその従業員の最初の日付 (VLOOKUP によって抽出された) がある場合、この式は 2 番目の日付を返します。

=VLOOKUP(E2,IF(Sheet1!C$2:C$100>F2,Sheet1!A$2:C$100),3,0)

で確認CTRL+SHIFT+ENTER

同じ方法で次の日付を取得できます。その従業員に別の日付がない場合は、#N/A を取得します。

于 2013-02-26T15:31:14.583 に答える
0

VLOOKUP使用する代わりにINDEX/MATCH!

現在の式が次のとおりであるとします。

=VLOOKUP(A1,Sheet1!A:C,3,0)

これは次のように変換できます。

=INDEX(Sheet1!C:C,MATCH(A1,Sheet1!A:A,0))

同じことを行います (一致するものを A で検索し、列 C から結果を返します)。これで、次の一致を簡単に取得できます。

=INDEX(シート1!C:C,MATCH(A1,シート1!A:A,0)+1)

同じ従業員 (列 B) であるかどうかをテストする場合、式はもう少し複雑になります。

=IF(INDEX(Sheet1!B:B,MATCH(A1,Sheet1!A:A,0))=INDEX(Sheet1!B:B,MATCH(A1,Sheet1!A:A,0)+1),INDEX (Sheet1!B:B,MATCH(A1,Sheet1!A:A,0)+1),"エントリーは1つだけ!")
于 2013-02-26T15:07:24.267 に答える