『Sheet1に入力した内容をSheet2へ自動で』(かずぼう) [Sheet1に入力した内容をSheet2へ自動で抽出させたいのですが・・・ エクセル初心者です。どなたかご指導いただけませんでしょうか? Sheet1(全て手入力とします)   A    B    C    D    E    F 1 2 3 4 9/25   火       打合  ○○会社 会議室 5 9/26   水       休み 6 9/27   木       出張  ××会社 東京 7 9/28   金       休み 8 9/29   土       打合  △△会社 先方へ 9 と入力した場合に Sheet2に   A    B    C    D    E    F 1 2 3     9/25  ○○会社 会議室 4     9/27  ××会社 東京 5     9/29  △△会社 先方へ と言う具合にSheet1!D列の休み以外の行をSheet2へコピーさせたいのですがどなたか教えていただけませんでしょうか?宜しくお願いいたします。 OS WindowsXP Excel2000 ](かずぼう) ---- 自分だったらタイトル行をもうけて、Sheet2のほうにもコピー必要な列のタイトルをセットした上で フィルターオプションで抽出するな。 (ぶらっと) ---- 「休み」以外でオートフィルタして、コピペ。 (GobGob) ---- ぶらっとさんやGobGobさんの方法が簡単でいいと思いますが、一応関数案です。 Sheet2のB3セルに =IF(COUNTA(Sheet1!$E$4:$E$8)"休み",ROW($A$1:$A$5)),ROW(A1)))) Ctrl + Shift + Enter で確定 下にフィルコピー Sheet2のC3セルに =IF($B3="","",VLOOKUP($B3,Sheet1!$A$4:$F$8,COLUMN(E1),FALSE)) 右と下にフィルコピー (se_9) ---- ぶらっとさん、GobGobさん、se_9さん 早速のご指導ありがとうございます。 関数案でいただきましたse_9さん  Sheet1の行の終わりが187行の場合の関数を教えていただけませんでしょうか? 重ね重ねで申し訳ございませんが何卒宜しくお願いいたします。 (かずぼう) ---- まず上の式で8になっている部分(たとえば$E$8など)を187に変更。 次にROW($A$1:$A$5)の$A$5の部分を$A$184に変更。 なぜ184かというと、Sheet1の4行目から187行目に入力されている件数が184だからです。 (se_9) ---- se_9さん 出来ました。ありがとうございます。 早速のご指導及び的確なご指導ありがとうございました。 ありがとうございます。 またぶらっとさん・GobGobさんもありがとうございました。 ---- se_9さん すいません。再度申し訳ありませんが教えてください。   A    B    C    D    E    F 1 2 3 4 9/25   火       打合  ○○会社 会議室 5 9/26   水       休み   旅行   仙台 6 9/27   木       出張  ××会社 東京 7 9/28   金       休み 8 9/29   土       打合  △△会社 先方へ 9 と入力すると Sheet2に   A    B    C    D    E    F 1 2 3     9/25  ○○会社 会議室 4     9/27  ××会社 東京 5     9/29  △△会社 先方へ 6     1/0   #N/A   #N/A となってしまいました。 原因は Sheet1!D列の"休み" なのにE・F列に入力した為だと思うのですがこれを回避するのに良い方法ございませんでしょうか? 宜しくお願いいたします。 (かずぼう) ---- B6セルの問題かと。 (ヒエ) ---- COUNTA(Sheet1!$E$4:$E$187) の部分を COUNTIF(Sheet1!$D$4:$D$187,"<>休み") のようにすればうまくいくと思います。 (se_9) ---- > COUNTIF(Sheet1!$D$4:$D$187,"<>休み") > のようにすればうまくいくと思います。 D列に空白があってもいけますか? D列が全部埋まってたらという前提?      それとSheet1が全部手入力って、B列の曜日も手入力? まさかそんなことはないと思いますが、念のため B4: =TEXT(A4,"aaa;;") (よみびとしらず) ---- ヒエさん・se_9さん・よみびとしらずさん早速のご指導ありがとうございます。 しかし B6をm/d;;にしても COUNTIF(Sheet1!$D$4:$D$187,"<>休み")に変更しても C・D列の#N/Aが消えてくれません・・・・ (=TEXT(A4,"aaa;;")は使用しておりました。D列は187まで全部埋まります。) う〜ん 申し訳ありませんがもう一度教えていただけませんでしょうか? どうぞ宜しくお願いいたします。  (かずぼう) ---- 何度も何度も申し訳ございませんが、上記の件についてどなたか教えていただけないでしょうか? 宜しくお願いいたします。 (かずぼう) ---- ちょっと勘違いしていたようですいません。 Sheet2のB3セルに =IF(COUNTIF(Sheet1!$D$4:$D$187,"<>休み")-COUNTIF(Sheet1!$D$4:$D$187,"")"休み",ROW($A$1:$A$184)),ROW(A1)))) Ctrl + Shift + Enter で確定 下にフィルコピー ※追記 データ数が184で固定されているなら =IF(184-COUNTIF(Sheet1!$D$4:$D$187,"<>休み")"休み",ROW($A$1:$A$184)),ROW(A1)))) でもよいかも? (se_9) ---- >データ数が184で固定されているなら >184-COUNTIF(Sheet1!$D$4:$D$187,"<>休み") >でもよいかも? これやったら「休み」の数になりませんか?      >=IF(COUNTIF(Sheet1!$D$4:$D$187,"<>休み")-COUNTIF(Sheet1!$D$4:$D$187,"")"")*(Sheet1!$D$4:$D$187<>"休み"))"",D4<>"休み"),ROW(),"")  G187までオートフィル Sheet2 B3: =IF(COUNT(Sheet1!$G$4:$G$187)"")*(Sheet1!$D$4:$D$187<>"休み"))"休み",ROW($A$1:$A$184)),ROW(A1))))} にて思い描いていた動きになりました。 よみびとしらずさんのご指摘の通り今の私の能力ではお二方に教えていただいた関数を理解する事 は到底出来ません。 しかし後学の為にひとつひとつ紐解いて行こうと思います。 本当に最後までお付き合いくださり大変ありがとうございました。 今後とも宜しくお願いいたします。 (かずぼう)