プロが教えるわが家の防犯対策術!

こんにちは。WINDOWS NTでEXCEL2000を使っています。
BOOK1に伝票No(当然重複なし)・得意先名・件名等のデータベースとなる表があり、これは毎日更新(年間2万件程度)されるものとします。
これを使ってBOOK2で伝票Noを入力すると自動的に得意先・件名等の必要な情報を表示させたいのですがVLOOKUPやDGETではうまくいきませんでした。
このようなことはACCESSでないと無理なのでしょうか?VBAを使って何とか実現できないかと色々本やHPを読み漁っているのですがいい方法が見つかりません。知恵を貸してください。よろしくお願いします。

A 回答 (2件)

下の表の時、VLOOKUPで可能でした。



A列、B列、C列、D列
伝票No、得意先、件名、備考、

=VLOOKUP(B2,[BOOK1.xls]Sheet1!A2:D30000,2,FALSE)

BOOK1のSheet1を元のデータとして
BOOK2のセルB2に入力した「伝票No」から
完全一致するものを表示する。
上の式は、2列目を表示なので得意先を表示します。
件名は、3、備考は4に変えます。

自機で約3万件では、ほとんどすぐに表示されました。

充分な回答でなければ質問ください。

この回答への補足

できました!伝票番号が文字列設定で入力されていたものがあって並べ替えができていなかったようです。BOOK1を閉じてもちゃんとBOOK2のデータは表示されるのもわかって安心しました。
ここでもう1つ質問なのですが、このVLOOKUP関数で表示させた後にコピーして値に変換したほうがよいのでしょうか。(データが重くなるのがちょっと心配です)
kenken0001さんが使っていて今まで特に問題はなかったですか?
注意すべき点などあったら教えてください。

補足日時:2002/02/28 13:40
    • good
    • 0

無事うまくいったようで


おめでとうございます。

補足の件ですが
たしかにデータは重たいですが
計算式とデータではそれほど
変わらないかもしれません。
(計算式を値にしても△)

変わるのは、ちょこちょこ
シートを変更することがあるかどうかによります。
変更するたびに再計算の処理をするので
頻繁に開いて更新することがある時は
問題が無ければ、再計算の中止設定をします。
(お手数ですが、不明な場合は再度質問下さい)
→ データではなく処理の重さについて

データについては、
繰り返し出てくるものに関して全てを
実データで表示すると重たくなります。
具体的には「得意先名」です。
限られたものだけなら
出力されるデータを「得意先コード」として出力し
エクセルで「得意先名」に変換することで
ものによりますが軽くなると思います。
(これも詳しくは質問下さい)

ただ、
質問に書かれた内容だけですが
実際のエクセルで作ってみましたが

データ数3万件
CPU P200
メモリ 96MB
WIN95 Excel97

と、かなりgoodなマシンですが
入力→パタパタ
と、結構快適に表示してましたので
このままでもわたしとしては
そんなには重たくないですね。

どのような表、処理かで違いますが
(質問では書かれていない内容があり
もう少し複雑とか)
その辺がもう少し分かると
何かできることもあるかもしれません。

あまり大したことを書けなくてすいません。
何かありましたら小さなことでも結構です、質問下さい。


がんばって下さい。
ではでは。
    • good
    • 0
この回答へのお礼

丁寧な回答ありがとうございました。おかげさまで無事設定を終了することができました。データの重さも処理の速度も問題なさそうです。このままうまく稼動して問題が起きないことを祈るのみです。

お礼日時:2002/03/01 19:07

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