EXCEL:重複データの抽出方法(関数)



 ◇-?EXCEL:重複データの抽出方法(関数)-EKU-11/05-20:08(239)-No.464181
   ┣?!Re:EXCEL:重複データの抽出方法...-酢吉-11/05-20:28(238)-No.464183
   ┣?!Re:EXCEL:重複データの抽出方法...-ぱっくにゃん-11/06-09:32(225)-No.464223
   ┗?!Re:EXCEL:重複データの抽出方法...-独覚-11/06-10:09(225)-No.464225
     ┣?!!Re:EXCEL:重複データの抽出方法...-EKU-11/06-21:38(213)-No.464270
     ┗?!!Re:雑談です...-酢吉-11/07-09:33(201)-No.464291

▲このページのトップに戻る
464181EXCEL:重複データの抽出方法(関数)EKU URL2008/11/05-20:08

メーカー名:NEC 日本電気
OS名:WindowsXp Professional
パソコン名:45162A
ソフト関連:表計算Excel
--
エクセルで、
表1         表2
A列   B列    C列   D列
山田太郎 A     小林花子 B                 
小林花子 B  →       E
三笠義男 C          F
野村太助 D
小林花子 E
小林花子 F
高田幸助 G

表1に対し、表2において「小林花子」と入力した場合、その右列に
表1のB列を表したい。D列に入れる式を教えてください。

▲このページのトップに戻る
464183Re:EXCEL:重複データの抽出方法(関数)酢吉 2008/11/05-20:28

記事番号464181へのコメント
=VLOOKUP(RC[-1],R1C1:R5C2,2,FALSE)

表1の範囲によって「R1C1:R5C2」を書き換えてください

ゴメン質問を読み違えました
上の無視してください

▲このページのトップに戻る
464223Re:EXCEL:重複データの抽出方法(関数)ぱっくにゃん 2008/11/06-09:32

記事番号464181へのコメント
EKUさんは No.464181「EXCEL:重複データの抽出方法(関数)」で書きました。

>表1に対し、表2において「小林花子」と入力した場合、その右列に
>表1のB列を表したい。D列に入れる式を教えてください。
>

表の理屈がおかしいです。
下記の状態の場合、D列はどのように表示させたいのでしょうか?

A列   B列    C列   D列
山田太郎 A     小林花子                 
小林花子 B  →  山田太郎
三笠義男 C     野村太助
野村太助 D
小林花子 E
小林花子 F
高田幸助 G
山田太郎 H
野村太助 I
野村太助 J

A列の氏名重複が1名だけであるのならD列の複数行にそれぞれ
Vlookup関数を入れるだけですね。

▲このページのトップに戻る
464225Re:EXCEL:重複データの抽出方法(関数)独覚 2008/11/06-10:09

記事番号464181へのコメント
D1セルに

=IF(COUNTIF(A$1:A$7,C$1)>=ROW(A1),INDEX(B$1:B$7,SMALL(INDEX(IF(A$1:A$7=C$1,ROW(A$1:A$7),""),0),ROW(A1))),"")
と入力して通常はEnterで確定する所をShift+Ctrl+Enterで確定して、
下へコピーして見てください。

追記
すみませんSMALL関数内のINDEX関数は必要なかったです。

=IF(COUNTIF(A$1:A$7,C$1)>=ROW(A1),INDEX(B$1:B$7,SMALL(IF(A$1:A$7=C$1,ROW(A$1:A$7),""),ROW(A1))),"")
としてください。
(Shift+Ctrl+Enterで確定は変わらず)

▲このページのトップに戻る
464270Re:EXCEL:重複データの抽出方法(関数)EKU 2008/11/06-21:38

記事番号464225へのコメント
酢吉様、ぱっくにゃん様、独覚様ご教示ありがとうございました。
ぱっくにゃん様、私の説明不足申し訳ございませんでした。表2については、
氏名別にページを分け、1ページには1名なので、私の最初の例のように1
名ずつで、その氏名に対応するアルファベットを表したかったのです。例え
ば1ページ目の小林花子に、B・E・F、2ページ目の野村太助にはDとい
ったように。独覚様、ありがとうございました。最初、深く考えずEnterで
確定したところ#VALUEになってしまいましたが、良く読んでShift
Ctrl Enterで確定したところ、式に“{}”が付いてうまくいきました。
この違いが何なのか、何故うまくいくのか私の現在のスキルでは良く理解
できていませんが、今後勉強していこうと思います。皆様ありがとうござ
いました。

▲このページのトップに戻る
464291Re:雑談です酢吉 2008/11/07-09:33

記事番号464225へのコメント
こういうときって大体VBAでxlFilterCopyとか使ったほうが早く解決できると思うし、
実際自分でもそういうシートを日常の業務で使っているのですが
今回はワークシート関数だけでできないか、乏しいスキルを総動員して3時間ほど
格闘したんですが結局わたしにはできませんでした。
配列にしてINDEX使うとできるんですねぇw

配列を使わずに同じような式ってつくれますか?
A列からMatchでC1と同じ内容のセルの数をカウントして、
D列の値を取得するセルの行番号を取得して、
Vlookupの範囲指定でINDIRECTを入れ子にすれば・・・
とかやってたけど自分じゃムリだったw

これってできるんでしょうか?やっぱりムリなのかな?
もしよかったらエトセトラで続きおねがいします。

A1.本ページは参考になりましたか? 又はアドバイスがありますか?
解決 参考になった 参考にならなかった アドバイスする

A2.何度目の訪問ですか?
初めて来た   数度目(2〜4) 5回以上来ている   管理人:

A3.何か一言どうぞ(アドレスは書くことができません)

A4.アドレスがあればどうぞ(1つまで)


↑↑↑↑よろしければ押してください↑↑↑↑

何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり

参考回数投稿日時何か一言