[[20150318145743]] 『IndexとMatchで良いのか?』(yukkie) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『IndexとMatchで良いのか?』(yukkie)

シート名:検索 -->計算式を入れるシート
シート名:Sheet2-->元データが入っているシート

検索シートに、フィルターオプションのリストでSheet2に記載されている情報(資格)を
選べるようにしました。
A2の所に情報(資格)を検索する箇所を作成して資格を選択するとそれを持っている人の
名前が出てくる計算式を入れたいです。

検索シートA2にフィルターオプションで設定した箇所で資格名が出てきます。
検索シートA6にA2で選択した資格にあてはまる名前を出したい。

Sheet2のD6〜D100に名前が記載されています
Sheet2のI6〜U100にそれぞれの人の資格名が記載されています。

 D   E   F  G   H   I   J   K   L  M   N   O ・・
6名前 フリガナ 番号 部署1 部署2 資格1 資格2 資格3 資格4 資格5 資格6 資格7・・・

人によって資格の数が違います。
本当の表には資格1〜資格13まであります。
資格を選択したらその資格を持っている人の名前を検索シートに反映するように
したいのですがどのような計算式にすれば良いのでしょうか?
教えて下さい。

IndexとMatchでやってみましたらエラー表示が出てできませんでした。
よろしくお願いいたします。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


 これを一般機能だけでやるのは難問だと思います。
 私がやるなら、資格を一つのセルに文字列で入れます。(例えばV列に =I2&I3&・・・)
 次に、その文字列をFind関数で検索する列を設けます。(例えばW列に =IF(ISERROR(FIND(検索!A2,V2)),"",ROW())
 検索シートのA6以下にA6=IFERROR(INDEX(Sheet2!A:A,Small(Sheet2!W:W,ROW(A1))),"")
 A6の式を↓方向にコピー、でいかがでしょうか?
(稲葉) 2015/03/18(水) 17:17

 > 検索シートA6にA2で選択した資格にあてはまる名前を出したい。

 該当するのが複数いたらA7以下に表示でいいの?

 作業列使ってもいいのなら

 Sheet2のV6 =IF(COUNTIF(I6:U6,検索!$A$2),ROW(),"")  V100までコピーしてちょw

 > 検索シートのA6以下にA6=IFERROR(INDEX(Sheet2!A:A,Small(Sheet2!W:W,ROW(A1))),"")

 名前はD列だよね?

 検索シートのA6 =IFERROR(INDEX(Sheet2!D:D,SMALL(Sheet2!V:V,ROW(A1))),"")  下にコピーしてちょw

 複数いたらA6、B6 ・・・ と右方向に表示したいのなら

 検索シートのA6 =IFERROR(INDEX(Sheet2!$D:$D,SMALL(Sheet2!$V:$V,COLUMN(A1))),"")  右にコピーしてちょw
 
(帰って来た名無しのおっさん) 2015/03/18(水) 17:33

 あ、COUNTIFでいいのか
 名前はD列ですね
 適当ですみません。
(稲葉) 2015/03/18(水) 18:33

返事が遅くなりましてすみません。
ありがとうございました。
思い描いていたとおりの事ができました。

本当に助かりました。
ありがとうございます。
(yukkie) 2015/03/19(木) 14:41


もう一度教えて下さい。
=IFERROR・・・の計算式を入れた「検索」シートで
下にそのままコピーしたところ、
上の2行に同じ名前が出てきてしまいます。
あと、該当しているのに名前が出てこない事もあります。

上記で教えていただいたとおり、そのままコピペしたので
どこにその要因があるのかわかりません。
教えて下さい。

(yukkie) 2015/03/25(水) 13:26


参照シートを少し動かしてしまった為
参照箇所がずれており出来なかったようです。
解決致しました。
大変失礼いたしました。
(yukkie) 2015/03/26(木) 17:29

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.