私は 2 つの Excel ファイルを持っています。1 つは従業員のリストで、もう 1 つは欠勤のリストです。欠勤リストから理由と終了日をメイン リストに取得し、正しい名前の下に配置する必要があります。現在は手動で行う必要がありますが、メイン リストには 1000 人以上の名前があり、欠勤リストには 800 人ほどの名前があるため、すぐに古くなります。
E: では、もう一度やり直してみましょう。
メインリストのフォーマット:
A | B | C | D | E | F | G |
Basic unit|Name|Birthdate|Position|Permanent|starting date|ending date|
欠席のフォーマット:
A | B | C | D | E | F | G | H | I | J
Employee ID# | Unit | Unit name | Name | # | Absence reason | payment | starting date | ending date | length
そして今日、私はより詳細な分類基準を得ました。1か月以上で無給の欠勤をメインリストに追加し、それらの基準が満たされたときに
Absence reason, starting date - ending date
メインリストの H2 と対応する名前の下に追加されます。これで、必要な情報を K2 に結合するための追加の列を欠席リストに作成できるようになりました。
=F2&", "& TEXT(A1,"dd/mm/yy")&" - "&TEXT(B1,"dd/mm/yy")
したがって、長さが 30 より大きく、支払いが「支払いなし」であるかどうかを確認する数式が必要になります。
また、私はフィンランド人なので、Excelはフィンランド語で書かれているため、数式を翻訳機で実行する必要があります。現在、私はhttp://en.excel-translator.de/translator/
E2: 必要なものだけが残るように欠席リストを並べ替えたので、メイン リストの対応する名前を取得して配置するだけで、何かを確認する必要がなくなりました。
答え1
欠席リストが表示されないので、列が含まれていると仮定しましょう。
名前 | 開始日 | 終了日 | 欠席理由
従業員シートに2つの列を追加し、次のようにvlookupを使用します。
=iferror(vlookup(A2,[Absences.xls]Sheet1!$A$1:$D$1000,3,false),"")
セルA2の名前が欠勤リストに見つかった場合、終了日が返されます。欠勤理由については、4
Vlookupの3番目のパラメータとしてaを使用します。
編集: コメントで提供されている列構造を使用して
A | B | C | D | E | F | G | H | I | J
Employee ID# | Unit | Unit name | Name | # | Absence reason | payment | starting date | ending date | length
最初の列が列Aにあり、名前の列に一致する名前が含まれていると仮定すると、欠席理由の式は次のようになります。
=iferror(vlookup(A2,'[the file.xlsx]the sheet'!$D$1:$I$1000,3,false),"")
終了日
=iferror(vlookup(A2,'[the file.xlsx]the sheet'!$D$1:$I$1000,6,false),"")
ファイル名とシート名を適宜調整します。
Vlookup は、一致を検索するために参照テーブルの最初の列を使用するので、名前が格納されている列 D から参照テーブルを開始することに注意してください。Vlookup は右方向に動作します。
名前列の左側にデータを返す場合は、別の数式が必要になります。