Excelで条件付けをしてデータの抽出をしたいと思っています。
元データは、列に日付、行に名前が入っており、その日に各人が注文したものが通し番号で入力されています。
画像では全員が注文をしている形になっていますが、日によって注文しない人もいます。
その上で、最終的には
【日付】を指定して、該当日に注文をした人を【通し番号】別で集計(別シートで)
をしたいのですが、その為にはどういう形で進めるのが一番シンプルでしょうか。
VBA初心者なので、まず日付で注文者を抽出、そのデータから通し番号ごとの集計、というのがよいのかなあと思うのですが、マクロがどうにもうまくいかず行き詰っています。
要領を得ない質問ですみませんが、アドバイス頂ければ幸いです。
No.1ベストアンサー
- 回答日時:
マクロじゃないと 駄目なのですか?
要するには、
日付で 抽出、
詰まりは、
列を 取り出せは、
良いのですよね?
ま、
VEAでも 同じ事だとは、
思いますが、
シート関数でも 簡単ですよ?
まぁ、
VBA志向の ようですから、
あくまで イメージですが、
Functionルーチンとして、
Evaluate構文を 持ちい、
シート関数の MATCH構文で、
何列目が 該当列かを、
返させるものを 作成し、
「仮に Function名を、乙と 称す、」
〜
Dim i Az Long, らんげ Az Range, 【日付】 Az Date
〜
〜
i = 乙(【日付】)
らんげ = Set cells(i,i)
〜
等 しては、
如何ですか?
まぁ、
For Each 〜
何かで ループさせても、
でますが、
其れは VBの、
世界の 話しで、
VBAでは ないですし。
第一、
其れでは オブジェクトタッチ数が、
格段に 増えるので、
無駄な 処理時間を、
応分に 要し、
無駄駄目プログラミング化、
しますからね。
No.5
- 回答日時:
添付図参照
B2: =IFERROR(INDEX(Sheet1!$A1:$A5,MOD(SMALL(IF(INDEX(Sheet1!$B2:$D5,0,MATCH($A2,Sheet1!$B1:$D1,0))<>"",INDEX(Sheet1!$B2:$D5,0,MATCH($A2,Sheet1!$B1:$D1,0))+ROW(Sheet1!$B2:$D5)/1000),COLUMN(A1)),1)*1000),"")
【お断り】上式は必ず配列数式として入力のこと
No.4
- 回答日時:
> どういう形で進めるのが一番シンプルでしょうか。
クエリで日付列をピボット解除して接続のみ作成
作った接続情報を元にして ピボットテーブルを作ればいいでしょう。
No.3
- 回答日時:
》 …にはどういう形で進めるのが一番シンプルでしょうか
そういうことなら、「全員が注文をしている形」だけでなく、それに基づいて「【通し番号】別で集計(別シートで)」した「形」も呈示すべきです!
No.2
- 回答日時:
追記、
集計も、
Evaluate構文を 持ちいた、
算出ルーティンを 作る方が、
圧倒的に オブジェクトタッチ数が、
削減できますから、
高速動作を しますよね。
あくまで、
別件試験結果ですが、
全て ループで、
処理させるものに 比べれば、
1/100程度の 時間で、
処理か 終わりますよね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelの数式についての質問 1 2022/10/31 15:50
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Excel(エクセル) Excelでのデータ管理 6 2022/12/24 09:33
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) 【マクロ】同じフォルダ内にある複数ブックから1つのブック内の1シートにデータを集めたい 6 2022/09/28 18:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
Excleピボットでデータのない部...
-
Access クエリで、レコードの無...
-
Excel→Accessへの日付データの...
-
Accessのデータ型の日付/時刻型...
-
【Accessで困っています...
-
指定日付を起点にして最新日付...
-
クロス集計のユニオンクエリー...
-
アクセス97のVBAで日付項目をヌ...
-
VBA 別シートの同じ日付の欄に...
-
Accessで日付の比較がうまくい...
-
SQL Server2005のクエリで「今...
-
Access:フォームのデータの並び順
-
BCPでCSV内の文字列をテーブル...
-
アクセスの昇順並び替えで空白...
-
ACCESSの空白をカウントする
-
Microsoft Query の抽出条件に...
-
ACCESSのデータ型変更について
-
アクセスで月単位の抽出
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
Excleピボットでデータのない部...
-
アクセスで月単位の抽出
-
BCPでCSV内の文字列をテーブル...
-
Accessの日付時刻型から日付、...
-
VBA 別シートの同じ日付の欄に...
-
Excel→Accessへの日付データの...
-
Access クエリで、レコードの無...
-
指定日付を起点にして最新日付...
-
アクセス:既定値に土日含まず...
-
【エクセル】指定した日付に一...
-
ACCESSの空白をカウントする
-
Accessで日付の比較がうまくい...
-
【vba】日付の形式が勝手に変わ...
-
前のレコードの合計に現レコー...
-
エクセル-過去6カ月分の合計を...
-
Accessのデータ型の日付/時刻型...
-
【Accessで困っています...
-
アクセス97のVBAで日付項目をヌ...
おすすめ情報