- ベストアンサー
エクセル照合の方法を教えてください0(><O)
- エクセルで名簿リストを照合する方法を教えてください。ファイルAには名前があり、ファイルBには個人情報があります。運転免許保有者のみフラグを付け、さらに年齢と性別をAに追加する必要があります。
- エクセルでの照合作業で、ファイルAの名前とファイルBの個人情報を照合したいです。運転免許保有者のみフラグを付け、さらに年齢と性別をAに追加する方法を教えてください。
- エクセルで名簿リストの照合を行いたいです。ファイルAには名前があり、ファイルBには個人情報があります。運転免許保有者のみフラグを付け、さらに年齢と性別をAに追加する方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
実際のシートのレイアウトが提示されていないので、具体的に回答しにくいのですが、例えばSheet1のA列に名前の一覧があり、Sheet2のA列に名前、B列に年齢、C列に性別、D列に運転免許の有無の欄がある場合、Sheet1のB列に該当する人の年齢、C列に性別を表示したいなら、以下の式を入力し右方向に1つ、下方向にデータ数分だけオートフィルします。 =INDEX(Sheet2!B:B,MIN(INDEX(((Sheet2!$A$2:$A$100<>$A2)+(Sheet2!$D$2:$D$100<>"●"))*1000+ROW($A$2:$A$100),)))&"" #Officeソフトはバージョンによって使用できる関数が異なりますので、必ずバージョンを明記するようにしてさい。 また、このようなご質問では、数式が複雑になることが多いので(数式の修正が面倒なことが多い)、実際のシートのレイアウトなどを具体的に提示されたほうが解決が早いと思います。
その他の回答 (3)
- KURUMITO
- ベストアンサー率42% (1835/4283)
簡単な例で紹介します。参考にしてください。 例えばファイルAをブック1、ファイルBをブック2とします。 どちらのブックでもA1セルに氏名、B1セルに年齢、C1セルに性別、D1セルに運転免許の有無の項目名がそれぞれ入力されているとします。 ブックAやBはどちらも開かれた状態でブック1のB2セルには次の式を入力してD2セルまでドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(OR(B$1="",COUNTIF([Book2.xlsx]Sheet1!$A:$A,$A2)=0),"",IF(INDEX([Book2.xlsx]Sheet1!$A:$D,MATCH($A2,[Book2.xlsx]Sheet1!$A:$A,0),4)="●",INDEX([Book2.xlsx]Sheet1!$A:$D,MATCH($A2,[Book2.xlsx]Sheet1!$A:$A,0),COLUMN(B2)),"")) これでブック2で運転免許の有無の列に●が入力されていう氏名の方のみのデータが表示されます。
お礼
回答者様の知識の深さが滲み出るお答えでした。非常に勉強になります。 仕事に応用させて痛きました☆本当に助かりましたぁ(*^o^*)
- -9L9-
- ベストアンサー率44% (1088/2422)
そもそもその名前に重複するものがない(ユニークである)かどうかが不明ですが、同姓同名が全くいない、名前はすべて単一のもののみであることを前提とするならば、VLOOKUP関数で参照できるでしょう。 データ処理の常識でいえば、そういう処理をするなら各人にID(社員番号など)を付番し、確実に各データがユニークであるようにするべきです。 http://www.eurus.dti.ne.jp/yoneyama/Excel/kansu/vlookup2.htm
お礼
そういう見方もあるんですね♪一人で悩んでた疑問解決しました(^∀^) ユニークかいなかは全く頭にありませんでした”(ノ><)ノ
- ka28mi
- ベストアンサー率41% (969/2315)
ファイルAとBの値を突合するわけですが、まず一番最初に考えなければいけない事は、キーにする名称です。 ファイルAは名前だけですから、当然「名前」しかキーにできません。しかし、数が分かりませんから確かなことは言えませんが、世の中には「同姓同名」というものがザラにありますね。「山田花子さん」が二人いたら、どちらの「山田花子さん」なのかは、個別に確認しないとどうしようもありません。 そこで、私でしたら、まずファイルA、ファイルBの名前が一つしかないか、複数あるか、を確認します。 それぞれの空白列を使って、名前の数をカウントします。 それぞれ1行目には項目名が入っており、a列に名前があると仮定すると、空白列の2行目に「=COUNTIF(A:A,A2)」と入力し、名前の入っている最終行までドラッグします。これで、それぞれの同姓同名の件数は確認できます。2以上の数があると、ファイルAでは区別ができません。 続いて、名前が1件しかない人について、ファイルAとBの突合です。 ファイルBのb列に運転免許、c列に年齢、d列に性別としますと、 ファイルAのb列に、 「=INDEX(ファイルB!$A:$D,MATCH(ファイルA!$A2,ファイルB!$A:$A,FALSE),2)」とします。 これは、ファイルBのa列からd列を範囲として、ファイルa列2行目と同じ値が入っているb行と、範囲の2列目(つまりb列)の値を引いて来なさい、という式です。 INDEX関数とMATCH関数の意味は、それぞれ調べてください。 この式で、だいたいのものは引けると思います。
お礼
タメになる回答ありがとうございます。なるほどですね。納得です! めちゃくちゃ詳しく書いて頂き頭がさがりますm(_ _)m周囲に聞けない環境なので助かりましたo(^-^)o
お礼
納得です!これで知識が一つ増えました(^O^)丁寧なご回答に感謝です 数式までありがとうございます☆今後はレイアウトも含めてより具体的に質問しようと思いますo(^-^)o