- ベストアンサー
Excel :空白セルのところから入力
別シートから条件に合ったデータを抜き取り、うえから順番に並べるには!?または空白のセルのところからそのデータを入力させるにはどうしたら良いのですか!?教えて下さい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
(例データ)仮にSheet8とします。そのA1:A8に下記データになっているとします。 (A列)(B列) 12 1 1 15 2 13 3 3 14 4 4 11 5 5 5 5 5 5 B1に=COUNT($A$1:A1)と入れる。 B13まで複写する。13は入力の最下行の見こみ行。 Sheet9のA1に =IF(ROW(A1)>MAX(Sheet8!$B$1:$B$13),"",INDEX(Sheet8!$A$1:$A$13,MATCH(ROW(A1),Sheet8!$B$1:$B$13,0),0)) といれ、A13まで複写する。 (結果) 12 15 13 14 11 Sheet8の11の行の下の(スペース行を空けて良い)セルに数字を入れて見てください。 Sheet9の11の直下に入力数字が現れます。 この仕組みを応用してください。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
#1です。補足ありがとうございます。 例えば (Sheet1) (A列) (B列) (1)11 2004/9/2 (2)22 (3)33 (4)44 (5)55 2004/9/6 (6)66 2004/9/7 (7)77 (8)88 (9)99 (Sheet2) (A列) (1)11 (2) (3) (4) (5)55 (6)66 (7) (8) (9) どれをいれた時にSheet1のどのデータをSheet2のどの位置に出現させるのですか。 >日付が入力されたデータだけが写りますが、 書いてなきゃ判りません。 =IF(Sheet1!B1="","",Sheet1!A1)とでもはいっているのかな。 >日付を入力した時点で 上記3日にちの入力完了時点が3回あるが、そのうちどれを入れた時点か。 それらの完了時点でどうなると良いのか。 >空白になっているセルを探して ???? >順番にデータが写らないかな 順番とは、どのデータをどこへ移すのか。
補足
説明不足ですみません (Sheet1) (A列) (B列) (1)112004/9/2 (2)22 (3)33 (4)44 (5)55 2004/9/6 (6)66 2004/9/7 (7)77 (8)88 (9)99 (Sheet2) (A列) (1)11 (2) (3) (4) (5)55 (6)66 (7) (8) (9) となりますが(IF)私がやりたいのは、 Sheet2) (A列) (1)11 (2)55 (3)66 (4) (5) (6) (7) (8) (9) と言うように空白セルが無いようにしたいのです
- imogasi
- ベストアンサー率27% (4737/17069)
(1)質問では、どの方法でやりたいのか前提を明確に 関数でやりたいと言うことでしょうね。 ウイザード(フィルタなど)を使っても良いのか。 手操作やVBAもあって、この問題ではVBAが最適。 (2)>条件に合ったデータを抜き取り、 抜き取ることは、関数式では出来ません。飽くまで「値」をコピーするのです。 (3)>空白のセルのところからその・・ 「別シートから」の別シートをSheet1とし、データを写す先のシートをSheet2として、Sheet2の A1:C10とかに、既にデータが既に入っていると言うことですか。 (4)>のところからそのデータを入力させるにはどうしたら 入力させるとは?関数でデータをセットすれば良いのですね。 (5)条件に合った 具体的なデータ例と条件を書かないと、答え難いですよ。 多分本件に似た回答をしてますが、要点は (1)条件該当分に上から連番を振り(COUNTIF) (2)Sheet2の行数に一致した行のセルのデータを (INDEXかOFFSET)持ってくることになります。
補足
補足です 例えば、Sheet1のA1:A10にデータがあって、B1・B5・B6に日付が入力されると、別シート(Sheet2)に日付が入力されたデータだけが写りますが、日付の入力されていない他のセル(B2・B3・B4・B7・・・)がSheet2では空白のままになってしまします。それを関数式で、日付を入力した時点で空白になっているセルを探して順番にデータが写らないかな!?と言う質問でした。でもやはりVBAが最適なんでしょうかね!?
お礼
とても分かりやすい回答を有難う御座いました。この方法を早速ためさせていただきます