• ベストアンサー

EXCEL データの各シートへの振り分け

エクセルの1枚目のシートをデータシートとして、各行に入力していきます。 各行の第1列の数字や言葉に基づいて、2枚目以降のシートに順にコピーさせる方法があるでしょうか 具体的には1枚目のシートはデータシートとして 部門 氏名 住所  人事 田村 東京 総務 太田 京都 人事 山田 大阪 2枚目のシートの名前は「人事」3枚目は「総務」で各シートに行ごとコピーさせたいのです マクロはよくわからないのと最初に開くときに面倒なので、なるべく関数で処理する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#96418
noname#96418
回答No.1

質問者さんの意図とは少し違いますが、次のような簡単な方法があります。適当な回答がなければ、ご検討ください。 (1)2枚目以降のシートで =sheet1!A1 などとして、1枚目のシートの該当するセル範囲(これから入力される可能性のある部分を含む)のデータをすべて取り込む (2)オートフィルタで望みの行だけ表示する (3)1枚目のデータが増えたり変更されたりしたら、フィルタの「再適用」(2007ではボタンあり)をして最新の結果を得る (2007とその97-2003互換モードで確認しました。)

matherlake
質問者

お礼

ありがとうございました なるほどと思います。参考にさせていただきます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

この質問の内容は、VBA向きです。 >マクロはよくわからないのと エクセルで、操作で出来そうに無いことで、何かやりたいことを実現するには、VBAを勉強してください。勉強しないで、楽したいこと、難しいことをやりたいといっても、無理です。 >最初に開くときに面倒なので 何のことだかわかりません。 ーーーー 入力の都度でなく、一応入力が終わってからなら、 フィルターを行い、コピー貼り付けを繰り返す フィルタオプションの設定を繰り返す ソートして区分ごとにコピー貼り付けを繰り返す 部門ごとの連番を振って関数で処理する(下記。自称 imogasi方式) ーーーーー 例データ A列  B列   C列   D列 コード 内容 計数 連番 人事 x 12 1 営業 y 21 101 総務 z 31 201 人事 u 41 2 人事 v 42 3 営業 s 43 102 総務 t 12 202 総務 v 12 203 人事 w 12 4 ーー どの列でもよいが(各部100人以内と仮定する) H列  I列 人事 0 営業 100 総務 200 ーーーーーーー D列の式は =VLOOKUP(A2,$H$1:$I$3,2,FALSE)*1+COUNTIF($A$2:A2,A2) 下方向に式を複写。 各部別に、出現別に、連番を振っている。 ーー Sheet2で A2に =INDEX(Sheet1!$A$1:$C$100,MATCH(ROW()-1,Sheet1!$D$1:$D$100,0),COLUMN()) C2まで式を複写。 A2:C2を下方向に式を複写 結果 人事 x 12 人事 u 41 人事 v 42 人事 w 12 #N/A #N/A #N/A ーー Sheet3のA2で =INDEX(Sheet1!$A$1:$C$100,MATCH(ROW()-1+100,Sheet1!$D$1:$D$100,0),COLUMN()) MATCH(ROW()-1+100とここで100足していることに注意。 以下人事の場合と同じ。 総務の場合は200を足す。 結果 営業 y 21 営業 s 43 #N/A #N/A #N/A #N/Aを出さない方法の点は省略。imogasi方式でGoogle照会すれば、何処かに書いている。

matherlake
質問者

お礼

ありがとうございます 参考にさせていただきます VBAを一応勉強し、ボタンを作ったり、若干編集もできるようにはなりましたが、能力不足やあまり使わないこともあって、なかなか使いこなせません。 それとそのブックを開くときにマクロを有効にするかどうか毎回聞かれるのがうっとうしいのです。作ったマクロが気に入ってすべてのブックに適応させたりすると、必要でないブックであっても開くときにいちいち聞いてきていらいらします。聞かれないよう設定できるのかもしれませんが、今のところその方法は不明です。 とにかく私の希望はマクロを使わないで済ませたいのです imogasiさんのVBAを使わないで済ませる方法を参考にしながら、なんとか作っていきたいと思います。 ありがとうございました

関連するQ&A

  • エクセルで、シート1のセルをシート2にコピーしたい

    エクセルのシート別のコピーについて教えていただけますでしょうか。 シート1のA列には、下記の通り、氏名、学校、住所、電話番号の順番に、並んでいるとします。 <シート1> A1 山田太郎 A2 学校 A3 住所 A4 電話番号 A5 山田花子 A6 学校 A7 住所 A8 電話番号 A9 山田みどり A10 学校 A11 住所 A12 電話番号 その情報をシート2の A列に、氏名だけを下記の通り、入力していきたいのです。 <シート2> A1 山田太郎 A2 山田花子 A3 山田みどり シート別のコピーは、 例えば、シート2のA1に「=Sheet1!A1」 と入力すれば、「山田太郎」と出てくることは知っています。 ですが、シート1の『氏名』だけをシート2に抽出していきたい場合、 どのようにすればよろしいのでしょうか? 『4セルずつ下』の『氏名』をシート1からシート2へコピーしたいです。 どなたか方法を教えていただけますと、とてもありがたく助かる思いです。 どうぞよろしくお願いいたします!

  • エクセル 複数シートのデータを1シートにまとめるマクロ

    エクセルの複数シートにデータがあります。同じ条件の人のデータだけをひとつのシートにまとめたいのですが、マクロを教えていただけますでしょうか。それとも、マクロ以外に良い方法がありますか? エクセル初心者なので、あたりまえのことも知らないかもしれません。。。  【データ】 ●シート1からシート20まで、同じ配列でデータがあります。 ●1行目は見出しです。2行目から1人づつのデータです。(多くても65行までと思っています。) ●A列に到達度、B列に出欠をいれました。 ●C列からM列が氏名、課題、その他のデータです。 ●リストはシート21にあります。  【こんな作業でしょうか?】 ●シート1から20で A列が「C」または「D」ならば その行のA列からM列をコピーして シート21のA列からM列に形式を値にして張り付ける ●シート1から20で B列が「欠」ならば その行のA列からM列をコピーしてシート21のA列からM列に形式を値にして張り付ける (っというのが私の乏しい知識で考えた方法なのですが、これでは不具合がでますか? もちろん、この方法じゃなくもっといいのがあれば、それをやってみたいです。)

  • Excelのデータ1行を1シートに自動転記する方法

    複数行あるExcelシートで、各行に入力されているセルのデータを、 別シートの所定の位置に配置して行く方法はありますか。 もしかしてマクロとかになりますか。 具体例を挙げますと、例えば身体測定データがあって、氏名/身長/体重がそれぞれA列/B列/C列に1人あたり1行で並んでいて、そのデータが10人分(10行)あったとすると、別に10シートが生成されて、それぞれのシートに1人分(例えば第一シートのA1セルに1人目の氏名、A2セルに1人目の身長,A3セルに1人目の体重)が書かれているようなイメージです。

  • <エクセル>マクロを使ってデータを入力したいのですが・・

    エクセル初心者のため、 どなたかご存知の方がいらっしゃいましたら教えていただけないでしょうか。 エクセルで、ある申込書のフォームにデータ(氏名・フリガナ・生年月日・年齢等を入力したいのですが100名分くらいあるためマクロを作って元データからコピーできれば・・と考えています。 100人分の元データはSheet1にあり、 1名につき1行で、A1に氏名、B1にフリガナ、C1に生年月日・・・(~F1まで)となっています。(~100行目まで) そのデータをSheet2にある申込書フォームの該当欄にコピーしたいのですが、簡単な方法はありますでしょうか。 Sheet2には10名分の入力欄があるので、、 Sheet1の1行目の人のA1(氏名)のデータをSheet2のB12(氏名入力欄)へ、 Sheet1の2行目の人のA2(氏名)のデータをSheet2のB14(氏名入力欄)へ、 ・・・・・ Sheet1の10行目の人のA10(氏名)のデータをSheet2のB30(氏名入力欄)へ、 という感じでコピーしていきたいです。 (フリガナ、生年月日、年齢などそれぞれ欄があります) とりあえず10人分ずつSheet2にコピーできるマクロが組めれば大変助かるのすが・・・。 説明も上手にできず申し訳ないのですが・・・。 私の知識レベルでは100人分こぴぺこぴぺする方が早いのかもしれませんが どなたかアドバイスをいただければ大変うれしいです。 どうか、宜しくお願いいたします。

  • 複数のシートから幾つのデータを抽出して一つシートにまとめるのは可能ですか

    ひとつのExcelブックにはsheetが100ぐらいあります。 例え: sheet1は 部門 営業部 氏名 田中純一 年齢 20 性別 男 点数 80 sheet2は 部門 事業部 氏名 中村なな 年齢 25 性別 女 点数 70 ・・・・ 次のようなsheetを作りたい。 部門  氏名    点数 営業部 田中純一  80 事業部 中村なな  70 ・・・・・・・・・・・ 手動で、各シートから、データを取るのは大変時間かかりますので、 もっと簡単の方法はありませんでしょうか。 アドバイスを頂けばと思います。

  • エクセル 他のシートにデータをコピーする方法

    エクセルの操作方法について質問です。 Sheet1で作成したデータ(マクロで編集しています)を、Sheet2へデータをコピーさせたいのですが、手早くできる方法はないでしょうか? マクロで並び替えたデータを別表にしたい(Sheet1の一部のデータ)のですが、量が膨大なためコピー&ペーストの繰り返しでは時間がかかって仕方ありません。 同じシートだと、=(イコール)で簡単にできますが、シートが異なる場合でも、同様な方法はありますか?

  • Excel 複数条件該当データの別シート表示

    Excelで、2つの条件に該当するデータのみ別シートに表示させる方法を教えてください。 Sheet1には、A列:地区 B列に所属 C列には氏名の表があります。 Sheet2に、該当する条件のものだけを表示させるようにしたいのです。 (たとえば、地区=東京かつ所属=総務部) この条件は、Sheet2のD列以降で指定する欄を設けたいと考えています。 Sheet1のデータ A列   B列   C列   地区  所属  氏名 東京  経理部 山田 大阪  経理部 松本 東京  総務部 加藤 よろしくお願いいたします。

  • Excel データの一部を別シートにコピー

    Excelで、データ行のどこかをクリックし、ボタンを押したとき、その行を別々のシートに分類してコピーさせるマクロを作りたいと思っています。 このとき、コピー先のシートをA列のデータで区別したいのです。 1.クリックした行のA列のセルを判定し、そのセルのデータを読み取る方法 2.読み取ったデータ(文字)を、コピー先シート名に指定する方法 このマクロの記述方法を教えてください。よろしくお願いします。 コピー範囲を指定し、貼り付け先のシートをアクティブにできれば、あとは記録マクロをつないで作るつもりです。

  • エクセル2013 シートのデータ読み込みで

    エクセル2013 あるBookにシートが複数枚あります。 各シートのL1に氏名が入力されていたら、他のセルのデータを氏名とともにシート40にある幾つかのセルに読み込みます。 氏名が入力されていないと、シート40の氏名その他のデータが「0」になってしまいます。 氏名が入力されていない場合は、シート40のセルが「0」ではなく「空白」にしたいのですが 方法を教えてください。

  • EXCELで1シートのデータを複数シートにコピー

    あるひとつのシートにあるデータリストを他のシートへデータひとつにつき1シートへコピーしていきたいのですが、簡単な操作でできませんか(マクロ等) シート1     A   1 159   2 200   3 145 のコピー元に対し、(1)(2)(3)の3つのシートのそれぞれ特定のセル位置にコピーし、以下のようにする シート(1)     B   2 159 シート(2)     B   2 200 シート(3)     B   2 145 という感じにします。 よろしくお願いします。

専門家に質問してみよう