A列 B列 C列 D列 E列 F列・・O列
1行 月度 店名 店員名 項目 数量 個数 合計
2行 1 東京 A子 初回 10 12 20
3行 1 東京 A子 5回目 20 40 21
4行 3 東京 A子 5回目 30 28 10
5行 4 東京 A子 初回 32 89 11
6行 1 大阪 C男 初回 11 13 12
7行 2 大阪 C男 5回目 77 22 211
8行 3 大阪 D子 初回 33 31 53
9行 1 京都 E子 最終 44 22 23
10行 2 京都 T男 初回 22 54 23
Sheet1(データベース)に上記のようにデータが約3000行あります。
「1月の東京店、A子の初回の合計は?」といった通常オートフィルタで抽出する作業をSheet2のシートで「絞込みしながら検索」するようにフォーム上でしたいのですが。
まず、リストボックス1で1月を選択すると、その抽出結果のみからリストボックス2で店名を選択。店名東京を選択すると同様にその抽出結果のみから店員名をリストボックス3で選択。同様にリストボックス4で項目「初回」を選択すると合計が表示されると言った具合にしたく思います。
参考までにリストボックスからの選択としていますが、よりベストな方法をご教授願います。
Accessで簡単に解決することと百も承知ですが・・・
ようは絞込みしながら検索していく手法を教えてください。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
質問内容を具体化してみましたがかなり大変な作業です。
まず、質問に対する疑問から、1.リストボックスは表示→フォームのリストボックス?またはコントロールツールボックスのリストボックス?
2.『フォーム上でしたい』はユーザーフォームを使ってもいい?それともリストボックスのこと?
3.初期状態はどのような想定?全項目無選択?
4.リストボックスのリスト内容はソートする?
4.あるリストボックスを選択したら、他のリストボックスは当然連動して内容を変える?
5.最後に1件まで絞り込んだら2回目の絞込みは行う?
やってみたことは、手順だけ上げると、(上記疑問は作り易い方にしました)
1.ユーザーフォームにコンボボックスを4つ配置
2.ユーザーフォームを開いたら初期設定で各コンボボックスにソートしたリストをセット
3.任意のコンボボックスで項目を選択したらオートフィルタ結果を表示してシート2にコピー
4.同時にコンボボックスのリスト内容を更新
5.1件になって再度絞り込みを行うために初期化ボタンを配置
概略、この位で実現できると思います。コントロール配列とかも使えないのでコードはかなり長いです。(書ききれません)
労多くして・・・の気がしますね。Accessでもゴタゴタするかもしれません。
>よりベストな方法をご教授願います
多分、リストボックスを作ることはExcelのオートフィルタ機能を、他の道具を使って実現するだけの話で得策でないような気がします。
余り回答らしくなっていないので、思いついた方法を挙げておきます。
シート1しか使いませんが、まずデータ→フィルタ→オートフィルタを実行しておきます。
A.メニューのウインドウから『新しいウインドウを開く』を選択します。
B.メニューのウインドウから整列→上下に並べて表示を選択
C.下のウインドウだけを200%~250%位に大きくします。
D.下のウインドウでツール→オプションで表示タグで
行番号、
シート見出し、
水平スクロールバー、
垂直スクロールバーのチェックをはずします。
E.A~D列と2行目までを表示するように下のウインドウの大きさを変えます。
コンボボックスを4つ並べたように見える?
F.上のウインドウは大きくします。
G.下にあったウインドウを好きな位置に配置します。絞り込みはこのウインドウから行います。
不満足かもしれませんが、代替案です。ご参考に。(Excel2000です)
この回答への補足
非常にわかりやすいご回答ありがとうございます。
代替案まで立案いただき本当にありがとうございます。
今回質問したのは誰もがマウス操作だけで処理が出来るようにと思ったからです。
ユーザーフォーム上にコンボボックスを4つ用意し
初期状態は全項目無選択、リストボックス1よりA列「月数」を選択後、
その抽出結果からリストボックス2でB列「店名」を選択、この要領でリストボックス3、4でC列で検索→D列で検索。(この4つの絞込み検索で1行のみとなります)そしてコマンドボタンを押すとその結果をテキストボックス1.2.3等にE,F,G列の内容を表示させたく思います。
欲を言えば1~4まで全項目を選択していないとコマンドボタンを押しても「入力ミスです!」等のダイアログボックスが出れば大満足です。
「AdvancedFilter」というものでやってみてはと助言いただきましたが、意味がわかりません。
Sheet2上で云々というのは無視してもらって結構です。
オートフィルタ機能を手作業ですることと同作業という事は十分わかっています。
大変お手数ですがご教授願います。
No.2
- 回答日時:
再び こんにちは!
>なぜならリストボックス1~4での絞込み検索する
>事で1行のみの抽出となります。
解が必ず1つなら
DGET関数が使えますが・・・オートフィルタのように
その都度、絞込み複数表示するものではないのでご希望と
違いかもしてませんね!
A列 B列 C列 D列 E列・・O列
1行 月度 店名 店員名 項目 式・・・合計
2行 リスト リスト リスト リスト 式・・・ 式
E列以降の各式
=IF(COUNTA($A$1:$D$1)<4,"",DGET(表1,E$1,$A$1:$D$2)
これをO列まで複写
データベースのフィールド名(項目)は、全て違うものであることが前提です。
(複数の戻り値があったり、1つもない時はエラーとなり
ますから、必要によりエラー回避の数式を組み合わせる
必要があります。)
オートフィルタのようなリアルタイム表示にするには
フィルターオプション機能をVBAで制御することになると思います。
その時は、他の方の書き込みをお待ちください!
No.1
- 回答日時:
こんばんは!
各条件による合計の計を求めればよろしいのでしょうか?
・項目も含めた範囲に名前を定義(仮に表1)
・シート2
A列 B列 C列 D列 O列
1行 月度 店名 店員名 項目 合計
2行 リスト リスト リスト リスト 式
式 =DSUM(表1,$O$1,A1:D2)
意図したものと外していたらスミマセン
この回答への補足
早速の回答ありがとうございます。
合計の意は単に値表示するだけで検索して計算した結果ではありません。
なぜならリストボックス1~4での絞込み検索する事で1行のみの抽出となります。理解に苦しむ文面で大変申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- 関西 至急 小4息子と母 京都~大阪旅行(初USJ)の計画について 3 2022/12/11 17:02
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Visual Basic(VBA) ワークシートごとに計算結果 2 2022/04/30 22:00
- Excel(エクセル) [オートフィルター]機能について 3 2023/02/04 14:32
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
はがきについて。
-
エクセル 文字を増やしたい。
-
セルの内容表示が邪魔になる
-
Microsoft365に変えたのですが...
-
エクセルの計算
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
Excel ピボットテーブルで日付...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
Excelのチェックボックスの使い...
-
エクセル 白黒印刷で白線を印刷...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの条件付き書式につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報