- ベストアンサー
【画像あり】複数のブック・シートから検索はできる?
- 下記の図【現状】のとおり、呼出ブック・Sheet1のB1セルに【NO】をハイフンを入れて入力すると、名簿ブック・Sheet1の情報が、呼出ブックのB2、B3セルに【名前、趣味】が呼出されます。
- この名簿ブックの範囲を下記の図【やりたい事】とおり、広げる事はできますか?具体的には、下記のとおりです。【広げたい名簿ブックの範囲】→3つのブック、11のシート。名簿ブック・Sheet1、名簿ブック・Sheet2、名簿ブック・Sheet3、名簿ブック・Sheet4、名簿ブック・Sheet5、名簿1ブック・Sheet1、名簿1ブック・Sheet2、名簿1ブック・Sheet3、名簿2ブック・Sheet1、名簿2ブック・Sheet2、名簿2ブック・Sheet3。
- 上記関数は、教えてgoo回答者様にご教授いただきました。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その条件で,できますかという事なら次のように丁寧に作成していけば出来ます。(面倒なだけでムズカシイお話は何もありません) =IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet1'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet1'!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet2'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet2'!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet3'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet3'!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet4'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet4'!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet5'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック.xls]Sheet5'!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック1.xls]Sheet1'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック1.xls]Sheet1'!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック1.xls]Sheet2'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック1.xls]Sheet2'!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック1.xls]Sheet3'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック1.xls]Sheet3'!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック2.xls]Sheet1'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック2.xls]Sheet1'!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック2.xls]Sheet2'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック2.xls]Sheet2'!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック2.xls]Sheet3'!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿ブック2.xls]Sheet3'!A:C,2,FALSE)) ※保存先のドライブ名やフォルダなどの記述は正しく訂正して作成すること この式を置いたブックは,別にどこに保管しておいても全く構いません。 こういったどうにもナンセンスな方法を取るしかないのは,データがバラバラとあっちこっち散らばっているからに他なりません。 仮に元データはそういう具合に散らかして運用するしかないのだとしても,それらから単純な参照式を並べて(オリジナルの表をコピーする→集めシートに形式を選んで貼り付けのリンク貼り付けでリンクの式を並べる→全部の表から行う)一枚のシートにえいやっと全てのデータを集めてしまえば,当初に成功していた =VLOOKUP(SUBSTITUTE(B$1,"-",""),'c:\フォルダ\[名簿の全部.xls]Sheet1'!A:C,2,FALSE) というだけの,シンプルな数式で完成できます。
その他の回答 (2)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
直接的回答ではありませんm(_ _)m エクセルで5つのブックの最新データを別のブックにまとめたい。 http://okwave.jp/qa/q5993869.html 当方はSQL案ですが、マクロが掲載されているので参考になるのでは?
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルは事実上できない(やる気がしない)という、解決法もあります。 (1)手動操作がめんどくさいが時間をかければ出来る。 結果のコピペも面倒 (2)関数でやるとどうだろう (3)じゃ、マクロでやろうか (4)マクロでもめんどくさい(プログラムを造るや、検索実行時間がかかって、タイミングが外れる) (5)全国の優秀な人が、的を絞って、作って発表しているソフトは無いかいな。 ーー 本件は(1)(でやる気は無く、(2)は対照データが多数のブックに散らばっているためにめんどうな式になる。 (3)も質問者は出来ないのだろう。 (5)を探すか、しかしぴったりのものは見つからないことが多い。しかし探してみてください。 ーー データを1表に整理することを考えたら。 その際もVBAの力を借りることになるかも。 VBAでも、少し勉強すれば、この点だけなら1,2回の質問で、親切に答えてくれる人が出るかも。 10個以内なら手動でやっても質問の答えを待つより速い。 エクセルとは、「操作の体系」だと思う。 ーー 表を作るときに設計でなるべく別シートやブックに分けないことがよいのです。 それでは別の面で困るというなら、エクセルハ適してない。 アクセスかそれ以上のデータベースでも勉強して対策を考えるべきなんでしょう。 何をしようにも、自分が勉強しないと、WEBなどに丸投げ質問しているような態度では難しい課題にすぐ、ぶっつかる。
お礼
いつも、本当に、ご回答いただき、ありがとうございます。 上記補足について、新しい質問として、投稿いたしました。 お時間がございましたら、ご回答お願いいたします。 http://oshiete.goo.ne.jp/qa/6772734.html
補足
いつもご回答ありがとうござます。 質問ですが、検索先【呼出先】の 名簿ブックの番号が記入してあるセルの【書式】は、文字列でも、標準でも数字 でも問題はありませんか? また、B1セル【番号を入力する】の書式も同様に、文字列でも、標準でも、数字でも 問題ありませんか?? 1回、keithin様のとおり関数をあてはめて、うまくできました。 しかし、2回目にやったら、呼び出させるシートと呼びだせないシートがでてきて 迷路にはまっています。おそらく、自分の関数が間違っていると思っています。 よろしくお願いいたします。