OSはWindowsME EXCEL2002を使用しています.
VLOOKUP関数を利用して別シートからデータを
呼び出していたのですが、あるひ突然データの呼び出し速度が遅くなりました.
どうしてなのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

VLOOKUPの検索範囲で Sheet1!$A$B や Sheet2!$1:$3 の様に


列単位や、行単位で指定している場合、遅くなる事が有ります

この場合の多くは、気付かないうちに列や行のデータ入力がない(はず)の
セルがEXCEL上有効な(検索対象の)セルと判断されていることによるものです

該当のシート上で CtrlキーとEndキーを同時に押してみてください
思わぬところに飛んでいきませんか?

不要な行・列を削除して、一旦保存してEXCELブックを閉じ
再度開く事で事態は解消します。
    • good
    • 0

以前、似たような状態を経験しました。



私の場合は、「赤バッテン」でエクセルが終了してしました。

知り合いのプログラマから聞いたときの回答は「「LOOKUP」関数は多用すると、負荷がかかりすぎるので、アクセス等のデーターベースソフトを使った方が安心」ってコトでした。

このことからも、LOOKUP多様による負荷の増大だと考えられます。 私と同じだとすると突然「赤バッテン」でその先が進まなくなります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

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

【エクセル】リストに、別のリストからデータを追加

タイトルの件、質問いたします。

下記の添付ファイルをご覧ください。

【やりたい事】

元データブック・Sheet1のC2セルに下記の関数を入れていまが

=VLOOKUP(A2,???????,3,FALSE)

別のシートの情報検索する場合の、範囲の指定の仕方がわかりません。
範囲は、図2の別のブックにあります。

最終的に、図3のように、住所を検索して、入れていきたいと思います。

ご存知の方いらっしゃいましたら、宜しくお願いします。

Aベストアンサー

マウス操作で簡単に入力できますのでお試しください。
対象のブックを開けて、=VLOOKUP(A2,まで入力したら後はマウスを使って、対象のブック→対象のシート→対象の範囲(A列をクリック、Shiftキー押下してC列をクリック)と左クリックするだけです。

QVLOOKUPで検索したデータを元にVLOOKUP

集計シートにてVLOOKUPでソースシートAから検索したデータ"ABC"(URL文字列)が存在します。
このデータABCを、ソースシートBから検索して、データ"yahoo!"を取り出したいと考えています。

ソースシートA
ABC 100
DEF 200
GHI 300

集計シート
ABC 100 (セルの実態はVLOOKUP関数)

ソースシートB
ABC yahoo!
DEF google
GHI 楽天

作りたいシート
ABC yahoo! 100

これを実現するための関数をご教示頂きたく思っております。
情報不足でしたら可能な限り追加で説明させて頂きますのでどうかよろしくお願いします。

※アクセス等でABCをキーに結合させてしまえば楽かもしれませんが、実作業する人間がアクセスに不慣れなためエクセルで実現したいです。

Aベストアンサー

>このデータABCを、ソースシートBから検索して、データ"yahoo!"を取り出したいと考えています。

これも集計シートの関数と同様にVLOOKUPでソースシートBから表引きすればよいだけと思うのですが、「結合したい」とは具体的にどのようなことを意味しているのでしょうか?

文字列を結合して1つのセルに表示したいという意味なら連結したい数式を「&」で結んでください。

QエクセルのIF関数とVLOOKUP関数について教えてください。

  A B C
1 A1 B1 C1
2 A2 B2 C2




上記のような表があり、セルX、Yに入力した値が2つの条件に合致した場合、セルZにC列の値を返すような数式を作っています。
たとえば、セルXの値がA1より小さく、かつ、セルYの値がB1より小さい場合にはセルZにC1の値を表示する、という数式を作りたいのです。
(ちなみにAn、Bn、Cnにはそれぞれ数字が入ります)

=IF(AND(X<=A1,Y<=B1),C1,IF(AND(X<=A2,Y<=B2),C2,・・・

AND関数を利用してこのように数式を入れると、途中まではうまくいくのですが、引数が多いため途中からエラーが出てしまいます。
(引数の数は10個以上あります)
IF関数とVLOOKUPを組み合わせればいいというところまではわかるのですが、どのように条件設定をすればいいのかがわかりません。

エクセル初心者で恐縮ですが、どなたか詳しい方いらっしゃいましたらご回答よろしくお願いいたします。

Aベストアンサー

A列、B列ともに昇順でデータが並んでいるのであれば
=INDEX(C列,INDEX(MATCH(0,0/((A列>=X)*(B列>=Y)*ROW(A列)),0),0))
こんな計算式で表示することも可能です。

内容
C列のデータの並びの中から、A列データ>=XとB列データ>=Yが成立した最初のセル行のデータを拾い出す。

配列計算の応用的な式。

Qエクセルでリストに対応するデータを別シートの表

エクセルでリストに対応するデータを別シートの表に参照したいです。

「表シート」のB2にリストを作って、
(リストは「一覧表シート」のA,B,Cが入力されているセルを参照しています。)
Aを選択すると101の下の段(B11)に、
「一覧表シート」のAの列101の111が入力されるようにしたいです。
Bを選択すると222、Cを選択すると333が入力できるようにしたいです。

この「表シート」の表がややこしいのですが、
建物の部屋番号に対応しているため、3階2階1階という順になっています。

関数で対応できるものでしょうか?
分かりにくい表ですが、よろしくお願いします。

Aベストアンサー

単純に規則的に並んでいるだけなので、順番に取ってくる数式でもできますが。
とりあえずエクセルの基本の練習として、VLOOKUP関数を使ってみましょう。


表シートのB7には
=IF($B$2="","",VLOOKUP(B6,一覧表!$B$3:$E$11,MATCH($B$2,一覧表!$B$2:$E$2,0),FALSE))
と記入、各セルにコピー貼り付けます。





#補足
表一覧の各室ABC欄には、とりあえずすべてデータが記入されているとします。
ご相談の言葉足らずで実際には空欄があったりするときは、状況に応じて上述の関数式を
=IF($B$2="","",VLOOKUP(B6,一覧表!$B$3:$E$11,MATCH($B$2,一覧表!$B$2:$E$2,0),FALSE)&"")
なんて具合にしてみたりなど、応用します。

QEXCELで一覧表から必要なデータだけを別のシートに自動的に移したいのですが(例えば学校のクラス分け)

 1枚のシートに一覧になったデータがあります。例えば、学校の生徒名簿だと思って頂けると助かります。そしてそこには、クラスが記入されています。
 で、そのクラス毎のシートを作りたいのですが、度々クラスは代わります。クラス替えがあった際には、一覧表のデータのクラスの部分だけを書き換えるのですが、それを行うことによって、同一ファイルの別のシートにクラスの生徒名およびそのデータが表示されるというようにしたいのです。
 学校のクラス分けを例えにしましたが、実際は趣味で集めているものがあり、それの整理をEXCELでやっています。今までは一覧表に収納場所をメモしておく程度で済んでいたのですが、できたら、その収納場所ごとに収納されているものを管理できたらなと思い立ったのです。
 EXCELで出来ることなのかどうかもわかりませんが、よろしくお願いします。

Aベストアンサー

A列に1列挿入してください。クラスの列がH列として
A2=H2&TEXT(COUNTIF($H$2:$H2,$H2),"00000")
として最終行までコピー、これでクラス毎の連番が出来ます。

表示したいシートのA1にクラス名
A2=$A$1&TEXT(ROW()-1,"00000")
B2=VLOOKUP($A2,元表の範囲の絶対参照,COLUMN(),FALSE)
B2を横方向に必要分設定後に2行目全体を下方にコピーしてください。


人気Q&Aランキング

おすすめ情報