Excelからユニークデータの取得

解決


くお  2005-09-24 08:14:47  No: 125686

過去ログなどいろいろと調べてみましたが、解決できないので、相談させていただきます。

Excelに次のようなデータがあります。

 | A  B  C  
------------
1| a  1  D 
2| b  2  E
3| a  1  F
4| b  2  E
5| a  3  D
6| a  1  D

データは1万行ぐらいです。
このデータから、まずC列でDだけを対象にして、A列のユニークデータをリストボックスに表示させ、aが選択されたときに、次のリストボックスに1と3を表示するということをしたいのです。

この様な場合、どういった方法があるのでしょうか?
過去ログなどでは、1次元配列ではリストボックスを使った方法などいくつか拝見したのですが、2次元配列では見つけることができませんでした。


ななし  2005-09-24 09:14:49  No: 125687

まずは環境から書くことから
初めてみませんか?

どういった方法がありますかと聞いてますが自分が書いた方法をそのままコーディングすればよいと思いますその上で詰まったことを質問されては?


あん  2005-09-24 09:17:01  No: 125688

意味不明
>A列のユニークデータ
ユニークになってないし・・

>aが選択されたときに、次のリストボックスに1と3を表示するということをしたいのです。
C列の話はどこいった?


くお  2005-09-24 09:28:23  No: 125689

ななしさん、あんさんのご指摘の通り意味不明で、申し訳ありません。

環境は、VB6です。
C列が第一条件で、その次にA列、B列という順で絞り込んで行きたいのです。


名無し  2005-09-24 13:10:10  No: 125690

質問の意味がさっぱりわからんのは俺だけなのか?

>aが選択されたときに、次のリストボックスに1と3を表示する

ここですでにワケワカなんだが


我龍院忠太  2005-09-24 20:33:18  No: 125691

ユニークデータを重複なしと解釈して翻訳すると、
1、C列の値を選択する。
2、選択されたC列と同じ値をC列に持つ行の、A列の値を重複無しにリストボックスに入れる。
4、リストボックスからA列の値を選択する。
3、リストボックスで選択された値と同じ値をA列に持つ行の、B列の値を重複無しにリストボックスに入れる。
こんなかな。


特攻隊長まるるう  2005-09-26 19:27:44  No: 125692

ボクの場合、
>データは1万行ぐらいです。
の時点でデータベースにデータを格納して使う事にするので、
データベースを使わない(Excel にデータが書かれている)なら、
パフォーマンスとか、使用するメモリ量とかの条件は無視する
とします。その辺を考慮に入れないで、
こんな方法もあります↓
[ADODB.Recordset を使ったデータの操作]
http://www.microsoft.com/japan/msdn/library/ja/jpdnofftalk/htm/office02032000.asp

…サンプルではデータベースを利用してデータを読み込んでますが、
メモリ上にレコードセットを自分で用意して、読み込んだデータを
全て自分で格納すれば、後の操作(検索、並べ替え、フィルタ処理)は
同じ操作でできます。500行くらいのデータなら問題ない事は確認して
ます。データ量を増やした時に起こる問題については保証しません。


くお  2005-09-27 17:46:57  No: 125693

返事が遅くなってしまい、すみません。
我龍院忠太さんの説明頂いた通りの動作をさせたいと思っています。
ユニークではなく、重複なしというのが正しい表現ですね。
なかなか我龍院忠太さんの様な説明ってできないものですね。
今後参考にさせて頂きます。ありがとうございました。

特攻隊長まるるうさん、リンクありがとうございます。
リンクからいろいろと辿って、情報を得ることができました。

現時点では、ADOでExcelデータをメモリ上のレコードセットに格納するところまで動作するようになりました。
特攻隊長まるるうさんの
>>データは1万行ぐらいです。
>の時点でデータベースにデータを格納して使う事にする
という方法を試してみて、スピードの差などを比較していきたいと思います。

その他、特攻隊長まるるうさんのコメントされてる
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200408/04080071.txt
なんども参考にさせて頂きました。

みなさん、ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加