【画像あり】複数のブック・シートから検索はできる?

このQ&Aのポイント
  • 下記の図【現状】のとおり、呼出ブック・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回答者様にご教授いただきました。
回答を見る
  • ベストアンサー

【画像あり】複数のブック・シートから検索はできる?

タイトルの件、質問いたします。 下記の図【現状】のとおり、呼出ブック・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 【呼出ブック・Sheet1にある関数】 B2セル:=VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿.xls]Sheet1!A:C,2,FALSE) B3セル:=VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿.xls]Sheet1!A:C,3,FALSE) ↑上記関数は、教えてgoo回答者様にご教授いただきました。 【条件】 ●エクセルバージョン:2003 ●名簿ブックは全て閉じているものとします。 ●同じフォルダ内に全てあります。理想は、名簿ブックのみ、違うフォルダに格納したいです。 ●名簿ブックにある、人の情報は全て、違う人です。 以上、宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

その条件で,できますかという事なら次のように丁寧に作成していけば出来ます。(面倒なだけでムズカシイお話は何もありません) =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) というだけの,シンプルな数式で完成できます。

aoyama-reiko
質問者

お礼

いつも、本当に、ご回答いただき、ありがとうございます。 上記補足について、新しい質問として、投稿いたしました。 お時間がございましたら、ご回答お願いいたします。 http://oshiete.goo.ne.jp/qa/6772734.html

aoyama-reiko
質問者

補足

いつもご回答ありがとうござます。 質問ですが、検索先【呼出先】の 名簿ブックの番号が記入してあるセルの【書式】は、文字列でも、標準でも数字 でも問題はありませんか? また、B1セル【番号を入力する】の書式も同様に、文字列でも、標準でも、数字でも 問題ありませんか?? 1回、keithin様のとおり関数をあてはめて、うまくできました。 しかし、2回目にやったら、呼び出させるシートと呼びだせないシートがでてきて 迷路にはまっています。おそらく、自分の関数が間違っていると思っています。 よろしくお願いいたします。

その他の回答 (2)

回答No.3

直接的回答ではありませんm(_ _)m エクセルで5つのブックの最新データを別のブックにまとめたい。 http://okwave.jp/qa/q5993869.html 当方はSQL案ですが、マクロが掲載されているので参考になるのでは?

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

エクセルは事実上できない(やる気がしない)という、解決法もあります。 (1)手動操作がめんどくさいが時間をかければ出来る。 結果のコピペも面倒 (2)関数でやるとどうだろう (3)じゃ、マクロでやろうか (4)マクロでもめんどくさい(プログラムを造るや、検索実行時間がかかって、タイミングが外れる) (5)全国の優秀な人が、的を絞って、作って発表しているソフトは無いかいな。 ーー 本件は(1)(でやる気は無く、(2)は対照データが多数のブックに散らばっているためにめんどうな式になる。 (3)も質問者は出来ないのだろう。 (5)を探すか、しかしぴったりのものは見つからないことが多い。しかし探してみてください。 ーー データを1表に整理することを考えたら。 その際もVBAの力を借りることになるかも。 VBAでも、少し勉強すれば、この点だけなら1,2回の質問で、親切に答えてくれる人が出るかも。 10個以内なら手動でやっても質問の答えを待つより速い。 エクセルとは、「操作の体系」だと思う。 ーー 表を作るときに設計でなるべく別シートやブックに分けないことがよいのです。 それでは別の面で困るというなら、エクセルハ適してない。 アクセスかそれ以上のデータベースでも勉強して対策を考えるべきなんでしょう。 何をしようにも、自分が勉強しないと、WEBなどに丸投げ質問しているような態度では難しい課題にすぐ、ぶっつかる。

関連するQ&A

  • 関数の中のシート名【複数】を置換を使って置換るには

    タイトルの件、質問します。 下記1の関数があります。 この中にあるシート名を下記2のとおり、置換を使って 書き換えたいと考えています。 実践しましたが、うまくできませんでした。 方法は、手入力以外であれば、置換機能ではなくてもOKです。 ご存知の方、いらっしゃいましたら、宜しくお願いします。 【下記2】 Sheet1 を 1000 に書き変えたい Sheet2 を 2000 に書き変えたい Sheet3 を 3000 に書き変えたい ※1000、2000、3000とは、シートの名前です。 【下記1】 =IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet1!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet1!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet2!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet2!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet3!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet3!A:C,2,FALSE)) ※本関数は、教えてgoo回答者様に、ご教授いただきました。

  • 別ブックから数字を置換えてデータを呼出【画像あり】

    タイトルの件、質問します。 下記の図のとおり 2つのブックがります【呼出ブック、名簿ブック】  ■名簿ブックは、通常は開いていません。  ■2つのファイルの保存場所は、違う場所を想定しています。  ■NOの規則性は、全くありません。 ●呼出ブック【Sheet1】のB1セルに、 001-001-001 と【ハイフンを付けて】入力すると ● ⇒呼出ブックのB2セルに 名簿ブックから、名前が ● ⇒呼出ブックのB3セルに 名簿ブックから、住所が 呼出される。 ※数字、記号は、全て半角です。 【参考】 NOが001001001【名簿ブック】とハイフンを付けずに、同じ形式を入力すると 下記の数式で表示できます。 呼出ブックB2セル⇒ =VLOOKUP(B$1,[名簿.xls]Sheet1!A:C,2,FALSE) 呼出ブックB3セル⇒ =VLOOKUP(B$1,[名簿.xls]Sheet1!A:C,3,FALSE) ※上記数式は、教えてgoo回答者様に、ご教授いただきました。 ※名簿ブックは、呼出ブックと違う場所にあり、ファイルは閉じています。 【エクセルバージョン】 2003以下

  • 【説明画像あり】VLOOKUPで、情報が呼出せない

    タイトルの件、質問いたします。 まず、下記のような、関数を組んでいます。 呼出ブック【図1、図2】:B2セル↓↓ =IF(ISERROR(VLOOKUP(SUBSTITUTE($B$1,"-",""),[検索先.xls]Sheet1!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE($B$1,"-",""),[検索先.xls]Sheet1!A:C, ※本関数は、教えてgoo回答者様にご教授いただきました。 呼出ブックのB1セルに、検索先ブック_Sheet1【図3、図4】のNOを入力すると、B2セルに情報が呼び出されます。 例:呼出ブックB1セルに 20012 と入力すると 呼出ブックB2セルに 佐藤 と表示される 例:呼出ブックB1セルに 20013 と入力すると 呼出ブックB2セルに 鈴木 と表示される しかし、 図3のとおり 検索先ブックの、A3【20012】、A4【20013】は、呼出されますが 検索先ブックの、A2【20011】       は、呼出されません。←【問題】 理由は、図5のとおり A2とA3、A4セルを、よく見ると、違いがあります。 A2セル    には、何のエラーもありませんが A3セル、A4セルには、緑色の三角のマークがあります。 図3のとおり、A3セル、A4セルには、!マークがありクリックすると 【数値が文字列として保存されています】とあります。 図4のとおり、セルの書式設定で調べると、確かに表示形式が、文字列となっています。 エラーの指示に従い、A3、A4セルを、【数値に変換する】にすると A2セルのように、エラーがなくなります。しかし、Vlookup関数が、きかなくなり、呼出ブックに 番号を入力しても、呼び出されなくなります。 セルの書式設定で、表示形式を、【文字列】、【標準】、【数値】として変換しますが、まったく、呼び出せません。 検証した結果、 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 表示形式を何に変更するというより、 緑サンカクの、エラー表示があるものは、呼出される 【どんな、表示形式でも:文字列、標準、数値】 緑サンカクの、エラー表示がないものは、呼出されない【どんな、表示形式でも:文字列、標準、数値】 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ご存知の方、vlookup関数が、呼出せる、セルの書式設定を教えてください。宜しくお願いします。 【エクセルバージョン】 2007、2003では確認していませんが、今後は、運用します。 ファイル系先は、xlsで保存しています。 【図4の詳細】 A B 1 20011 佐藤 2 20012 鈴木 3 20013 高橋

  • 別のブックから情報を呼出、関数orマクロ【図あり】

    タイトルの件、質問します。 下記の図をご覧ください。 ブック【呼出】のB1セルに、001と入力すると、ブック【名簿】から、NO.001の情報が 呼出され、ブック【呼出】に情報が転記される、関数orマクロはありますか?? ※ブック【呼出】は、下記の図の下の図です。 ※ブック【名簿】は、下記の図の上の図です。 ご存知の方、いらっしゃいましたら、宜しくお願いします。

  • 【画像あり】別のブックから、データを呼出、集計する

    タイトルの件、質問いたします。 下記の図2の名簿ブックから C列にある、【分類1】と【分類2】の件数を数える関数をご存知の方、いらっしゃいましたら 教えてください。 関数は、呼出ブックの、B2、B3に設置したいと考えています。 よろしくお願いします。 【前提】 エクセルバージョン:2003 名簿ブックは閉じている状態 名簿ブックと、呼出ブックは違うフォルダにある。

  • Vlookup関数⇒別のブックから、データを検索

    【エクセル】リストに、別のリストからデータを追加 タイトルの件、質問いたします。 下記の添付ファイルをご覧ください。 【やりたい事】 元データブック・Sheet1のC2セルに下記の関数を入れていまが =VLOOKUP(A2,???????,3,FALSE) 別のシートの情報検索する場合の、範囲の指定の仕方がわかりません。 範囲は、図2の別のブックにあります。 最終的に、図3のように、住所を検索して、入れていきたいと思います。 ご存知の方いらっしゃいましたら、宜しくお願いします。

  • VLOOKUP関数をIFで条件付けしたのですが。。

    シートが2枚あり1枚は名簿シートです。 別シートのセルA1に名簿シートのコード番号を入力し セルA2にVLOOKUP関数で式を下記のように入れています。 =VLOOKUP(A1,名簿!N:P,3,FALSE) このとき値がブランクになるときがあるので そのときは隣の列から数値を拾い出したいのです。 そこで =VLOOKUP(A1,名簿!N:Q,4,FALSE) だと思うのですがですが、自分でIFで式を組んだら =IF(VLOOKUP(A1,名簿!N:P,3,FALSE)="",VLOOKUP(A1,名簿!N:Q,4,FALSE),VLOOKUP(A1,名簿!N:P,3,FALSE)) となりました。 一応、希望通りの答えが返されるのですが、 もっと簡潔な組み方はあるのでしょうか?? IFでなくても何か方法があるのでしょうか?? よろしくご教授お願いします。

  • 複数あるブックの特定シートの特定範囲を1つにしたい

    EXCEL2010を使用しています。 あるフォルダに格納されている複数のブックの、特定シートを、1つのシートにまとめたいです。 複数のブックの作りは同じです。 1つのブックに、複数シートがあり、"(配置)"というシートだけを、新規のシートにまとめたいです。 <今ある各ブック> ファイル名は、2014年度特定措置_●●.xlsで、●●だけ、ブック名が違います。 シート名が"(配置)"です。 c3セルに部署名が入っています。 b4セルからe10セルまで数式が入っています。 <行いたいこと> 新規のシートのa列に、各ブックにあるc3セルの部署名を持ってきたい。 b列からe列に、各ブックにあるb4セルからe10セルまでの数式を値張りし、取り込みたい。 以上です。 つたない説明で恐縮ですが、大変困っております。 どうか、ご回答の程、どうぞよろしくお願いいたします。

  • bookからbookへの数式のコピーについて教えてください

    bookからbookへの数式のコピーについて ??BookのSheet1のセルにSheet2を参照にした数式が入っています =2+Sheet2!$A8 これを!!BookのSheet1のセルにコピーすると =2+[Book1.xls]Sheet2!$A8 こうなりました コピーしたセルは11,475セルあります [Book1.xls]をすべて消したいのですが、簡単な方法はありますか?

  • 別のブックから、特定のシートを指定して他のブックを開くには

    マクロ初心者です。 A.xlsと、B.xlsという2つのブックがあります。 B.xlsはこの時、閉じた状態です。 Aには1つのシートのみがあって、Bには日毎に追加されていく不特定数のシートがあります。 Aのブックのシート内のセル番地A1に、「aaa」と入力した場合、B内の「aaa」という名前のシート名を指定してB.xlsを開くマクロはどう書いたら良いのでしょうか。 頼りきりの質問になってしまって申しわけございません。 何卒宜しくお願い申し上げます。

専門家に質問してみよう