[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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)
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.