[[20060118091632]] 『2つのシートの中から抜き出し』(RX) ページの最後に飛ぶ

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

 

『2つのシートの中から抜き出し』(RX)

教えてください。

    シート1         シート2
                                                                 車種 号機 完成日      車種 号機 完成日
                                                                   100  001  1/6       101 100  1/6
                                                         100  002  1/7       101 101  1/8
                                                               100  003  1/8       101 102  1/9
                                                                                   100  004  1/9       101 103  1/10

 上記のようなシート1・2があります。
シート3に完成日を入力すると完成日に等しい号機が抜け出せるような式を作りたいと思っています。

    シート3
                                                                                          完成日   「1/8」 ←完成日を入力
                                                                                 完成車両           ( )  ←かっこにシート1・2からのデータを抜き出す式を入れたい(車種関係なしに)


 Sheet1、Sheet2の「完成日」はそれぞれ重複した日付が入ることもあるのですか?
 例えばSheet1の101と102の完成日が共に1/6になるとか?(Alica)

重複することがあります。

 本日も衝突。。。
以下そのままコピペ。
 完成する車両数の合計を求めたいという事なのでしょうか?
=COUNTIF(Sheet1!C:C,$B$1)+COUNTIF(Sheet2!C:C,$B$1)
 それとも、 >シート1・2からのデータを抜き出す とあるので、
完成日の号機名を並べたいのかな? <=== これだと、一から考え直しです。
仮に出来るとしても、関数では、一つのセルに入れるのは面倒だと思いますから、下に並べていく方が楽でしょうね。

 余談ですが、
日付の入力は、yyyy/mm/dd の形で年から入力していないと、複数年に跨る時には地獄を見ますよ!
(sin)

説明不足ですみません。
完成車両の号機をぬきだしたいのですが。
ひとつのセルにいれなくていいです。

 これでどうですか? 

 Sheet1

   A   B   C   D   E
 1 車種  号機 完成日		
 2 100  001  1/6
 3 100  002  1/7
 4 100  003  1/6
 5 100  004  1/9
〜

 Sheet2

   A   B   C   D   E
1 車種  号機 完成日
2 101  100  1/6
3 101  101  1/10
4 101  102  1/8
5 101  103  1/10

 Sheet3

    A    B   C
 1 完成日  1/6	
 2      100  101
 3  1   001  100
 4  2   003
 5  3
 6  4
 7  5
 8  6
 9  7
10  8
11  9
12  10

 Sheet1、2それぞれに

 D2 =SUM(C2,COUNTIF($C$2:C2,C2)*0.0001)

 E2 =IF(B2="","",B2)

 と入力、必要行までフィル

 Sheet3のB1に完成日を入力、B2、C2は車種

 日付重複が最大10個の場合、A3〜A12に1〜10と入力、あとは

 B3 =IF(ISERROR(VLOOKUP(SUM($B$1,A3*0.0001),Sheet1!$D$2:$E$5,2,FALSE)),"",VLOOKUP(SUM($B$1,A3*0.0001),Sheet1!$D$2:$E$5,2,FALSE))

 C3 =IF(ISERROR(VLOOKUP(SUM($B$1,A3*0.0001),Sheet2!$D$2:$E$5,2,FALSE)),"",VLOOKUP(SUM($B$1,A3*0.0001),Sheet2!$D$2:$E$5,2,FALSE))

 と入力して、両方とも12行目までフィル

 で、一応できます。
 ご要望の「車種関係なしに」というのは、Sheet1とSheet2を1枚のシートにする必要があるので、返って難しいです。(Alica)

 追記:sin様のおっしゃるように、日付欄は書式設定で最低でもmm/ddかm/dにして、日付入力してください...でないと正常に作動しません

 私も考えてみました。
  Sheet1					 Sheet2		
   A	B	C	D	 	   A	B	C	D
1 車種	号機	完成日	Check	 	1 車種	号機	完成日	Check
2 100	001	1/6		 	2 101	100	1/6	
3 100	002	1/7		 	3 101	101	1/8	3
4 100	003	1/8	4	 	4 101	102	1/9	
5 100	004	1/9		 	5 101	103	1/10	
Sheet1、Sheet2のD列で、Sheet3の完成日と同じ日付にCheckします。
ともにD2セルに
=IF($C2=Sheet3!$B$1,ROW(),"")  以下コピー
Sheet3のB2セルに(結構長いかも?)
=IF(COUNT(Sheet1!$D$1:$D$20)>=ROW(A1),INDEX(Sheet1!$B$1:$B$20,SMALL(Sheet1!$D$1:$D$20,ROW(A1))),IF(COUNT(Sheet1!$D$1:$D$20,Sheet2!$D$1:$D$20)<ROW(A1),"",INDEX(Sheet2!$B$1:$B$20,SMALL(Sheet2!$D$1:$D$20,ROW(A1)-COUNT(Sheet1!$D$1:$D$20)))))
で、以下コピー。
(sin)

 あ、すごい!
 なるほど、これなら車種にかかわらず、号機だけを抜き出せますね!
 う〜ん、私のは底が浅いw(Alica)

sinさん、alicaさん
ありがとうございました。
できました。

すみません。もう一点お願いします。
上記のシートで号機のセルに「セルの書式設定 ユーザー定義」を使っています。
(例: 号機のセルに 101 と入力すると RRR101 と表示されるようにしている)
sinさんに教えていただいた式で号機を抜き出すと「101」の状態で抜き出されてしまいます、「RRR101」 の状態で抜き出す方法はありますか?
やはり号機のセルのユーザー定義をはずさないとだめしょうか?

 Sheet3にも同様の表示形式をされた方が、早いと思います。
どうしても、関数式内で処理されたいのであれば、
ユーザー定義を、【"RRR"000】とされているとしたら、
=IF(COUNT(Sheet1!$D$1:$D$20)>=ROW(A1),TEXT(INDEX(Sheet1!$B$1:$B$20,SMALL(Sheet1!$D$1:$D$20,ROW(A1))),"!R!R!R000"),IF(COUNT(Sheet1!$D$1:$D$20,Sheet2!$D$1:$D$20)<ROW(A1),"",TEXT(INDEX(Sheet2!$B$1:$B$20,SMALL(Sheet2!$D$1:$D$20,ROW(A1)-COUNT(Sheet1!$D$1:$D$20))),"!R!R!R000")))
という感じで、INDEX関数部分をTEXT関数の中に組み込んで、表示形式部分を【"!R!R!R000"】とすれば、OKのはずです。
ヘルプのどこかに『!』等の説明があったと思いますが、どこだったか???
よって、うまく説明できません。 助け舟の来る事に期待しまーす。 HELP〜♪
(sin)
追記:Sheet1とSheet2で表示形式が変わったりするならば、
最初からそういうデータ入力をするか、それに順ずる行為をした方が良いと思います。
順ずる行為の例、
Sheet1のF1セルに『RRR』と入力。
F2セル(表示形式は標準とします)に =$F$1&TEXT($B2,"000") で下方コピー。
F2以下の範囲をコピーし、B2セルを選択し【形式を選択して貼り付け】-【書式】にチェック-【OK】後、
【形式を選択して貼り付け】-【値】にチェック-【OK】。

 >HELP〜♪
 に、なるかどうか解りませんが、、、
 こんなの見つけました〜♪
[[20031102032255]] 「ライブラリーに[表示形式・ユーザー定義]を追加」(kazu) 

 ちなみにσ(^o^;)は、『!』のことは、文字を挿入?(くっつける?)ものだと思っています。

 (キリキ)(〃⌒o⌒)b

 やっぱりユーザー定義に "RRR"000 とするのが一番手軽じゃないですかね?(Alica)


皆さんありがとうございます。
シートごとに表示を区別しました。

 とりあえず、よかった!よかった!

 >ちなみにσ(^o^;)は、『!』のことは、文字を挿入?(くっつける?)ものだと思っています。
私の思い込みは、!の後ろ1文字分が『文字』だじょ、っていう合図の記号(?)  です。
真相が知りたーい。ramrunさんは有料!って言ってるし。ぼちぼち探してみっか...
(sin)

 >ぼちぼち探してみっか...
 みやさんの所にありました〜♪
 
http://miyahorinn.fc2web.com/faq/faq201.html#003b
上記の文字列やスペースの書式記号を見ると
『!』とは、【次に続く一文字を追加表示する】って事みたいです。

 (キリキ)(〃⌒o⌒)b

 きゃー、キリキちゃん大好きCyu!Cyu!
みやほりんさんにもCyu!Cyu!
もう目がしょぼしょぼでした。
ほんとにありがとうございます。
(sin) あとは気が向いた時にMicroさん家に行ってみよ。


コメント返信:

[ 一覧(最新更新順) ]


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