- ベストアンサー
グループ毎のデータを抽出する方法について
A4からD23にグループ毎にデータがあります。 当データのグループ名を指定するとF4からI16までにデータを抽出する方法を教えて下さい。 ファィルを添付ます。 よろしくお願いします。
- JANIKYA
- お礼率17% (11/64)
- Excel(エクセル)
- 回答数3
- ありがとう数3
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
取りあえず ・A表のサイズは4×3 ・グループ名は項目開始の1行下。 ・B表の表示は3か所(グループ名は、F6 F10 F14) で作りました。(3つぐらいなら数式を別々にした方がいいです) G5: =IFERROR(OFFSET(B1,MATCH($F$6,$A:$A,0)-2,),"") 右下へコピペ。 G9: =IFERROR(OFFSET(B1,MATCH($F$10,$A:$A,0)-2,),"") 右下へコピペ。 G13 =IFERROR(OFFSET(B1,MATCH($F$14,$A:$A,0)-2,),"") 右下へコピペ。 セルの書式設定、ユーザー定義「#」 imogasi さんへの補足を読みましたが、画像と矛盾します。 (1)結合はしない。グループ名枠の先頭行とする。→先頭行でなく1行下です。 (2)行は最大10行とする。 ・A表は10行に満たない場合、開けておくのか、上に詰めるのか。(画像を見る限り、Aグループの様に開けてあります) ・B表は 4行でなく10行にするのか、それとものグループ名を入れる所は不定なのか。(不定にすると、数式はかなり複雑になるし、全部表示されない可能性もあります)
その他の回答 (2)
- HohoPapa
- ベストアンサー率65% (454/691)
作業用の列(H列、I列)と作業用の行(5行目)を用意して 添付画像のようにする対応はいかがでしょうか? H6=IF(J6<>"",0,H5+1) I6=IF(J6<>"",MATCH(J6,A:A,),I5) この2つを必要数下方向に複写 K6=IF(INDEX($A:$D,$I6+$H6,K$5+1)="","",INDEX($A:$D,$I6+$H6,K$5+1)) これを必要数下方向、右方向に複写
- imogasi
- ベストアンサー率27% (4737/17068)
補足をお願い。 (1)A5:A8の、見えて居る「Aグループ」の各行について、セル結合しれないのだろうね。 (2)各グループの明細の行数は4と一定か? (3)関数で式を工夫する、のか。操作やVBAでは望まない? 関数では条件を付けて抜き出すのは1条件でも難しい(考え方と式が複雑予想) (4)>当データのグループ名を指定する 複数のグループを指定、らしいが、どのセルにどう書き込むのか (4)が加わるとさらに難しい。関数では繰り返い法ができない。IFで分けるとすると、式が長くなり、わかりにくい。 == 以下は、参考。 本件は、本件限りとして、VBAでやることだな。 下記は、急いでいて、荒っぽいが(十分なテスト未済)この程度の行数で出来るのかな? Sub test01() K = 5 'アウトプット開始行のセット p1: G = InputBox("グループ名=") If G = "END" Then Exit Sub r = Range("A1:A30").Find(G).Row MsgBox r For i = r To r + 3 '行の変化。4行分をセット For j = 6 To 9 '列変化。F,G,H,I列データをセット。 Cells(K, j) = Cells(i, j - 5) Next j K = K + 1 '次行へデータセット Next i K = K + 1 '区切りとして空白行を入れる GoTo p1 End Sub データ例 A3:D16 A A ああ 20 A B いい 30 A C うう 40 A D ええ 50 B E おお 70 B F かか 80 B G きき 90 B H くく 10 C J けけ 30 C K ここ 50 C L ささ 70 C M しし 90 ーー 上記VBAを実行時に、AとCを指定。 結果 F5:I13 A A ああ 20 A B いい 30 A C うう 40 A D ええ 50 C J けけ 30 C K ここ 50 C L ささ 70 C M しし 90
関連するQ&A
- X個グループからY個ずつデータを抽出したい
例:グループの数は100ぐらいがあって、グループごとのレコード数はそれぞれであり、毎回そのうちのX(例3)グループずつにデータを抽出します。そして1つのグループから最大Y個(例2)のデータを抽出します。 抽出したデータにフラグを立てて、次の抽出時に除外の条件として使います。 例:以下のテーブルがあって、毎回3グループから2個のデータを抽出します: group name flag ---------------------------------------------------------------------------- 1_group 田中A 0 1_group 佐藤A 0 1_group 林A 0 1_group 鈴木A 0 1_group 牧野A 0 2_group 平田B 0 2_group 小林B 0 ・・・ 3_group 高橋C 0 3_group 丹羽C 0 3_group 田中C 0 3_group 佐藤C 0 3_group 鈴木C 0 3_group 吉田C 0 ・・・ 4_group 高橋D 0 4_group 丹羽D 0 4_group 田中D 0 4_group 佐藤D 0 4_group 鈴木D 0 ・・・ (1)1回目の抽出の結果 group name flag ---------------------------------------------------------------------------- 1_group 田中A 0 1_group 佐藤A 0 2_group 平田B 0 2_group 小林B 0 3_group 高橋C 0 3_group 丹羽C 0 (2)2回目の抽出の結果 group name flag ---------------------------------------------------------------------------- 1_group 林A 0 1_group 鈴木A 0 3_group 田中C 0 3_group 佐藤C 0 4_group 高橋D 0 4_group 丹羽D 0 (3)3回目の抽出の結果 group name flag ---------------------------------------------------------------------------- 1_group 牧野A 0 3_group 鈴木C 0 3_group 吉田C 0 4_group 田中D 0 4_group 佐藤D 0 DBはSqlLiteです。 長いですが、ご教授頂ければ、ありがたいです
- ベストアンサー
- その他(データベース)
- Accessで名寄せグループの関係人を抽出する方法について
先日からAccessを使ってある顧客データから条件抽出していますが、名寄せグループの抽出方法が分からず悩んでおります。 具体的には、全員で8人の顧客データがあります。 仮に名前を A-1,A-2,A-3,B-1,C-1,C-2,C-3,C-4,D-1,D-2 とします。 A,B,C,Dは名寄せグループを意味します。 A=3人、B=1人、C=4人、D=2人となります。 夫々に顧客コードと名寄コードを持っています。 (1)ある条件でA-1,C-2,D-1,D-2が抽出されるクエリ1を作成しました。 (2)次にA-1,C-2,D-1,D-2に関係する名寄せグループの他の顧客コードを抽出したいのですが、この方法が分かりません。 なお、A-2,A-3,C-1,C-3,C-4だけが抽出され、A-1,C-2,D-1,D-2は含まない方法があればBESTです。 当方Access初心者なので、出来るだけ判りやすく教えて頂けると助かります。できれば、初心者なのでデザインビューで分かりやすく教えて頂けると助かります。どうか宜しくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- データの抽出について
エクセルにてデータの抽出をしたいのですが、わからないので教えてください。 例えば、下の様なデータがあります。 回数 1回目 2回目 3回目 4回目 1000 あ a A 0 1001 い b B 1 1002 う c C 2 1003 え d D 3 1004 お e E 4 1005 か f F 5 別のシートに、 回数の1001と入力すると、3回目のBが抽出 1003と入力すると、3回目のDが抽出 1005と入力すると、3回目のFが抽出出来る様にしたいです わかりにくい文章ですいませんが、ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル2003で、データ抽出方法。
添付させていただいたエクセルのデータで。 A列の都道府県都市名のデータの中から、 C列に存在する都道府県都市名を抽出する方法を 教えていただけないでしょうか? なお、C列の都道府県都市名の中には、A列のデータにはない 都道府県都市名もあります。 もし可能ならば、上記に質問させていただいたように、 A列の都道府県都市名のデータの中から、 C列に存在する都道府県都市名を抽出し、 なおかつ、C列のデータにはあるがA列のデータにはない 都道府県都市名も、抽出できると助かります。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- グループ最終行のデータを別シートに抽出をしたい
エクセル2013使用しています。 シート4、A列に(1~10)グループ番号がついたデータがランダム入っています。 シート1、H3にグループ番号1を選択時、シート4の該当するグループ、 I列の最終データのみを、シート1 I3に抽出したい。 シート1、H3グループ番号は選択できるようにしています。 関数を用いてする、方法を 教えてください 添付写真;シート4 グループ番号1の最終データはAAA110となり、シート1 I3セルにAAA110を表示させたい 説明不足で申し訳ありません!!
- ベストアンサー
- Excel(エクセル)
- グループ中のデータ抽出について
以下の様のデータがあり、項目Aが同一のグループで、項目Dの内容が’00’のデータが1件しかないものを抽出(以下★印のデータのみを抽出)するSQLを教示御願い致します。 項目A 項目B 項目C 項目D k1 01 S1 00 ← ★ k2 01 S2 00 k2 01 S3 00 k2 01 S4 00 k3 01 S5 00 ← ★ k3 01 S6 0A k3 02 S7 0A k4 01 S8 0B k4 02 S9 00 ← ★ k4 02 SA 0B k5 01 SB 0B k6 01 SC 00 k6 02 SD 00 k6 02 SE 00 k7 01 SF 0A k7 02 SG 00 ← ★ k7 02 SH 0C k8 01 SI 00 k8 03 SJ 00 k9 01 SL 00 k9 02 SM 00 k9 03 SN 00 kA 01 SO 0A kA 03 SP 00 ← ★
- ベストアンサー
- SE・インフラ・Webエンジニア
- Access、複数のテーブルからデーターを抽出する
Access初心者です。 いくつかのテーブルがあります(日付順に用意されています) そのテーブルから、指定のセル(といっていいのでしょうか) より、データーをクエリとして抽出したいのですが、簡単なやり方はあるのでしょうか? 例として、 テーブル名 [0301]、[0302]、[0303]、[0304]、[0305]、・・・・・・・・。という5つのテーブルがあります。 1つのテーブル内は、このようになっています。 ------------------------------------- A B C D E F G 1 2 3 4 11 22 33 44 55 66 5 ------------------------------------- この5つのテーブルより、「B4」から「F4」までのデーターのみを ------------------------------------- 0301 ・・・・・・・・・・・・・・・・・・・・・・・・ 0302 ・・・・・・・・・・・・・・・・・・・・・・・・ 0303 ・・・・・・・・・・・・・・・・・・・・・・・・ 0304 -------------------------------------- といったように取り出すことはできますか? どうぞ宜しくお願い致します。
- ベストアンサー
- その他MS Office製品
- エクセルでデータの抽出する際に困っています
エクセルで特定の行のデータを抽出する方法を教えてください。 抽出方法を以下に示します。 A B C D E F G ---------------------------------- 1l 10 11 0 0 0 0 0 2l 12 13 0 0 0 0 0 3l 14 15 1 2 3 4 5 4l 16 17 0 0 0 0 0 5l 18 19 0 0 0 0 0 6l 20 21 6 7 8 9 10 7l 22 23 0 0 0 0 0 というような感じのエクセルデータに対して、 A B C D E F G ---------------------------------- 1l 14 15 1 2 3 4 5 2l 20 21 6 7 8 9 10 というように、C~G列が0でない行のA~Gのデータを別シートに抽出したいのですが、 簡単な方法があれば教えていただきたいです。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 連続していない日付データからの抽出
エクセルで、 A B 1 日付 売上 2 11/21 900 3 11/22 2000 4 11/26 1800 5 11/27 1300 D E 1 日付 前日比 2 11/21 **% 3 11/22 **% 4 11/26 **% 5 11/27 **% とあります。 そこで、 G H I 1 日付 売上 前日比 2 任意 (抽出) (抽出) 3 と、Gに日付を入力したらH、Iにデータが抽出されるように関数を作りたいと思います。 Hには =INDEX(A2:B5,MATCH(G1,A2:A5,0),2) Iには =INDEX(D2:E5,MATCH(G1,D2:D5,0),2) と入力して抽出をしましたが、 例えばG列に元データには無い、「11/23」が入力されたときは、11/23よりも先で1番にくる11/26のデータを抽出するようにしたいのですが、どうしたらいいでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
補足
(1)結合はしない。 グループ名枠の先頭行とする。 (2)行は最大10行とする。 (3)VBAは苦手なので関数で作成してほしい。 (4)グループ名は数字でも良い 例 Aグループは10番とかで OK グループ名の抽出先は枠の先頭行で良いです。 例 Bグループの場合はF5に表示 式は多少長くてもよいです。