[[20041227161025]] 『条件で抽出』(TAKE5) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『条件で抽出』(TAKE5)

教えてください。
今、シートに

利用者     月火水木金土日 年齢 ・・ ・・

ああ あああ  ○ ○   ○ 

いい いいい  ○   ○

うう ううう    ○

ええ えええ        ○

おお おおお   ○

 ・

 ・

 ・

と、いったようにデータがあります。そこで、曜日ごとに利用者を抽出して別シートに作成することは可能なのでしょうか?

例えば、『月曜』というシートを作成し月曜の利用者は『月曜』のシート
にといった具合です。

利用者は増えたり減ったりします。
その都度自動的に作成した曜日ごとのシートに反映もさせたいのですが。

なにぶん、素人なものですから分かりづらくてすみませんが宜しくご教授
下さい。


 一覧表シート
	 A	 B	 C	 D	 E	 F	 G
  1	利用者	月	火	水	木	金	土
  2	黒木瞳	○		○			
  3	夏目雅子	○				○	
  4	相田翔子			○			
  5	山口百恵						
  6	川野鮎		○				

 月曜シート
	 A
  1	月
  2	黒木瞳
  3	夏目雅子

 A2=IF(SUM((OFFSET(一覧表!$A$1,1,MATCH($A$1,一覧表!$A$1:$H$1,0)-1,COUNTA(一覧表!A:A)-1,1)="○")*1)<ROW()-1,"",INDEX(OFFSET(一覧表!$A$1,,,COUNTA(一覧表!A:A),1),SMALL(IF(OFFSET(一覧表!$A$1,1,MATCH($A$1,一覧表!$A$1:$H$1,0)-1,COUNTA(一覧表!A:A)-1,1)="○",ROW(INDIRECT("A2:A"&COUNTA(一覧表!A:A))),""),ROW(A1))))	
 として、Shift+Ctrlキー押しながらEnterキーで確定させて配列数式に。	
 (川野鮎太郎)


すみません、A2=からの式はどのシートの何処に入れるのでしょうか?

また、このようにいれた場合、曜日以外の項目全ても月曜のシートの
作成したいのでですが、作成されるのでしょうか?

(TAKE5)


 全ての曜日シートのA2に入れて下方にコピーしてください。
 他の項目はA列に抽出されたデータを基にしてVLOOKUP関数などで取得できますよね。
 (川野鮎太郎)

川野様、何度もすみません。

試しに月曜のシートのA2に数式を入れたのですが、数式が見えるだけで
データが入ってきません。

なにかやり方がおかしいのでしょうか?

(TAKE5)


 もしかして・・・、
 数式の初めに = は入ってますか・・・。
 (川野鮎太郎)

A2=IF(SUM((OFFSET・・・と入っています。
数式の編集の『=』は関係ないですよね??

(TAKE5)


 A2セルに  =IF(SUM((OFFSET(一覧表!$・・・・
       ↑ここから入れてください。
 (川野鮎太郎)


上記のように入れたら『#N/A』となりましたが・・・

(TAKE5)


 初めに書いた
 Shift+Ctrlキー押しながらEnterキーで確定
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ これは間違いないでしょうか。
 (川野鮎太郎)


 サンプルをアップしておきます。(87KB)
http://skyblue123.hp.infoseek.co.jp/Excel/WeekdaySheet.xls
 (川野鮎太郎)

 配列数式とは
http://pc21.nikkeibp.co.jp/special/hr/hr1.shtml

 σ(^o^;)が勉強した場所です。
 よろしければどうぞ〜
(キリキ)

川野様、キリキ様、有難う御座います。

時間をかけてやってみます。

また、明日あたりに「出来ませんでした」なんてカキコするかもしれませんが

そのときは宜しくです!


またまたすみません。

実際のデータはBに氏名、C/D/E/は別項目、F〜Lに曜日がありまして、氏名は5行目から

入っています。

という事は川野様から教えて頂いた上記の数式をA→BにH→Lに置き換えるだけで良いの

でしょうか?

ちなみに川野様作成のサンプルのエクセルは私が思い描いていたものでした!!


 式をいちいち変えるのは大変でしょうから、一覧シートの1〜4行目選択して、行挿入
 A列選択して列の挿入、B〜D列選択して、列挿入すれば自動的に式が変わると思います。
 ただし、VLOOKUP関数の列数だけは変更しないといけません。
 (川野鮎太郎)

やはり上記のように実施しましたが数式しか出ません・・・

きっと、私の勉強不足ですね。

川野様何度もすみませんでした。

もう少し頑張ってみます。

(TAKE5)


 もしかしたら、セルの表示形式が文字列になっているってことは無いでしょうか・・・。
 (川野鮎太郎)

標準になっております。

(TAKE5)


すみません、今、やろうとしているものは別シートにデータを置き入力規制で

作成していますが、それは関係ないでしょうか?

(TAKE5)


 (*'ω'*)......ん? 入力規則はどこに設定しているんでしょう。
 元表のB列でしょうか?
 それでも問題は無いはずですけどね。
 (川野鮎太郎)

そうです、一覧表の名前のところです。その他の項目も入力規制はしてますけど・・・

関係ないのですか・・・

(TAKE5)


 一覧表のシートの月火水木金土日は各セルに 文字で 月 と入ってるんですよね。
 #N/Aエラーが出る場合は、対象セル(各曜日シートのA1)の文字と一致するのが無い場合です。
 (川野鮎太郎)

一覧表のシートの月火水木金土日は各セルには利用する曜日に”○”が入ってるんですけど。

(TAKE5)


 いえ、そうではなく一覧表のシートのF4からL4のセルに 月 火 水 ・ ・ ってなっているんですよね。
   A	 B	 C  D  E	 F	 G	 H	 I	 J	 K	 L	 M
  4	利用者		月	火	水	木	金	土	日	年齢
  5	黒木瞳		○		○				○	
  6	夏目雅子		○	○			○			
  7	相田翔子				○					
  8	山口百恵								○	
  9	川野鮎			○						
 こんな感じ。
 (川野鮎太郎)

そうです。そのようになっています。

すみませんでした理解出来なくて。

(TAKE5)


 こんにちは。
 横から失礼します。

 >TAKE5さんへ<
 月曜日シートを例にすると、
 月曜日シートの「A1」のタイトルを「月」に(一覧表の曜日タイトルと同じに)してください。
 簡単に言えば
 「各曜日シートの「A1」のタイトルと、一覧表「A1〜H1」のなかのタイトルが一致するもので、なおかつ○がついているものを集める式」
 だと理解しました。うまく言えているかわかりませんが・・・(^^ゞ
 私も、年賀状宛先の管理に使おうと横から参考にさせていただきました。
 鮎太郎さん、ありがとうございました。勉強になりました。
 お邪魔いたしまして、すみませんm(__)m
 間違っていたら訂正お願いします。

(バーズ)


バーズさん、有難う御座います。
やってみます。

(TAKE5)


川野様、キリキ様、バーズ様、昨年はお世話になりました。
80%はうまくいったのですがまたまた質問させて頂きます。
私が作成した各曜日のシートは3行目から作成しております。

そうすると一覧表の若い行数にある名前が出てこなくなります。

※川野様がサンプルで作っていただいたエクセルの月曜シートの頭に

2行行挿入すると「川野」「哀川」が消えてしまうということなのですが・・・ご教授お願いします。


 2行挿入したら、数式の最後が ROW(A3) になってると思いますので、
 ROW(A1)に変えてください。
 それとINDEX関数の前の <ROW()-1 を <ROW()-3 に変えてください。

 (川野鮎太郎)

 川野様有難う御座います。

 上手く行きました!!引き続き自分なりにやってみます。本当に有難う御座いました。

 (TAKE5)

 すみません、VLOOKUPのエラー『0』を表示させない方法なのですがうまくいきません。

 川野様のサンプルで一覧表の『川野鮎太郎』の住所を空欄にした時の場合をいろいろ試したのですがうまく行きません

 =IF(ISERROR($A2)="","",VLOOKUP($A2,一覧表!$A$1:$J$22,10,FALSE))

 ではダメなのでしょうか?

(TAKE5)


 無い場合空白とする場合は、以下のようにしてみてください。
=IF($A2="","",IF(VLOOKUP($A2,一覧表!$A$1:$J$22,10,FALSE)=0,"",VLOOKUP($A2,一覧表!$A$1:$J$22,10,FALSE)))

 (川野鮎太郎)


 川野様、有難う御座います。うまくいきました!!

 (TAKE5)

 すみません、また教えて頂きたいことが。

 今までは各曜日ごとの”○”の人を抽出してたのですが、各曜日に”○”の他に”△”

 もあった場合、”○”と”△”を両方抽出したいのですがどうすれば良いのでしょうか?

 (TAKE5)


 ○と△の順番は入り乱れますが、それでよければ・・・。
 OFFSET(一覧表!$A$1,1,MATCH($A$1,一覧表!$A$1:$H$1,0)-1,COUNTA(一覧表!A:A)-1,1)="○"
 のあとに、+OFFSET(一覧表!$A$1,1,MATCH($A$1,一覧表!$A$1:$H$1,0)-1,COUNTA(一覧表!A:A)-1,1)="△" を入れて、二つOFFSET関数の部分を()でくくってください。
 (OFFSET(・・・・)+OFFSET(・・・・))って感じです。
 2箇所追加する場所がありますので、間違えないように(^_^A;
 (川野鮎太郎)

『=IF(SUM((OFFSET(一覧表!$B$4,1,MATCH($A$2,一覧表!$B$4:$L$4,0)-1,COUNTA(一覧表!B:B)-1,1)="○"+OFFSET(一覧表!$B$4,1,MATCH($A$2,一覧表!$B$4:$L$4,0)-1,COUNTA(一覧表!B:B)-1,1)="△")*1)<ROW()-4,"",INDEX(OFFSET(一覧表!$B$4,,,COUNTA(一覧表!B:B),1),SMALL(IF(OFFSET(一覧表!$B$4,1,MATCH($A$2,一覧表!$B$4:$L$4,0)-1,COUNTA(一覧表!B:B)-1,1)="○"+OFFSET(一覧表!$B$4,1,MATCH($A$2,一覧表!$B$4:$L$4,0)-1,COUNTA(一覧表!B:B)-1,1)="△")),ROW(INDIRECT("A2:A"&COUNTA(一覧表!B:B))),""),ROW(A1))))』

と入れたのですが、最後の"△"の箇所がエラーとなって入りません。

どこが間違っているのやら見当がつきません。ご教授願います


 ごめんなさい、()を付ける位置の指定が間違ってました。
 以下にしてみてください。
=IF(SUM(((OFFSET(一覧表!$B$4,1,MATCH($A$1,一覧表!$B$4:$I$4,0)-1,COUNTA(一覧表!B:B)-1,1)="○")+(OFFSET(一覧表!$B$4,1,MATCH($A$1,一覧表!$B$4:$I$4,0)-1,COUNTA(一覧表!B:B)-1,1)="△"))*1)<ROW()-1,"",INDEX(OFFSET(一覧表!$B$4,,,COUNTA(一覧表!B:B),1),SMALL(IF((OFFSET(一覧表!$B$4,1,MATCH($A$1,一覧表!$B$4:$I$4,0)-1,COUNTA(一覧表!B:B)-1,1)="○")+(OFFSET(一覧表!$B$4,1,MATCH($A$1,一覧表!$B$4:$I$4,0)-1,COUNTA(一覧表!B:B)-1,1)="△"),ROW(INDIRECT("A2:A"&COUNTA(一覧表!B:B))),""),ROW(A1))))

 (川野鮎太郎)

 川野様、何度も有難う御座います。OKになりました。

 (TAKE5)

 またまた質問があります。

 一覧表の文字で色を付けているものを各曜日のシートまでは反映はさせられないのでしょうか?

 例えば一覧表の『川野鮎太郎』さんの年齢を赤文字にした時、月曜シートの方も赤文字にといった感じなのですが。

 宜しくお願い致します。

 (TAKE5)


 それは、ほぼ出来ないと思います。
 (川野鮎太郎)

 了解です! 川野様、何度も有難う御座います。

 (TAKE5)


 追加中に衝突しました・・。
 追加:ほぼ出来ないとは、今までのように数式で値を抽出しているものを色まで
 一般機能、マクロなどで繁栄させることは出来ないのではないかなってことです。
 どうしても、絶対に、無理やりにでも・・・(^_^A;
 そうしたいのであれば、値の抽出もマクロで処理すれば可能かもしれません。
 (川野鮎太郎)

 4.0マクロ関数と条件付書式なんて言う手も、可能かも・・・
(ケン)

 有難う御座います。 

 マクロですか・・・マクロを使うと今までのとは全く違う作りになるのですよね?

 それに当然難しいという事ですよね?私にはまだまだ無理っぽいです(^^;

 (TAKE5)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.