Excel 元シートの条件を入れた行を別シートへコピーする方法を教えてください
- Excelの元シートで条件を入れた行を別シートへコピーする方法について教えてください。
- 元のシートのデータを会社ごとに分けてコピーする方法を教えてください。
- コピーする際には、データだけでなく書式も一緒にコピーする方法を教えてください。
- ベストアンサー
Excel 元シートの条件を入れた行を別シートへコピーする方法を教えてください。
元のシート(Sheet1)のデータが次のように表になっております。 A列の依頼先は、未定で、決定したら、A社、B社と入力します。 D列以降は月ごとのスケジュール表となっており、☆は赤色文字、 ☆と◆が入力されたセルは黄色に塗られております。 A B C D E F 1依頼先 装置名 台数 1月 2月 3月… 2 A社 ROBO 1 ☆ ◆ 3 A社 ROBO 1 ☆ ◆ 4 ROBO2 2 ☆ 5 B社 ROBO3 1 ☆ ◆ A社、B社…と、会社ごとにシートが作成してあり、 表の配置はSheet1と全く同じです。 すでにいくつかの装置のスケジュールが入力されているとします。 Sheet1の依頼先の欄に、社名を入力したら、入力した行がそのまま A社であればA社のシートにコピーされるようにしたいです。 その際に、既にA社のシートにデータがあったら既存のデータの下に データがコピーされるようにしたい。 また、文字色・セルの色などの書式も一緒にコピーされるように したい。 何も入力されていない空白のセルは、空白のままコピーされてほしい。 同様に、B社と入力したらその行がB社のシートに、 書式ごとコピーされるようにしたい。 社名が増えたら、会社ごとのシートを増やして随時対応したい。 以上の作業、できますでしょうか? できれば早急に回答いただきたいです。 宜しくお願い致します。
- hulalia
- お礼率70% (7/10)
- オフィス系ソフト
- 回答数2
- ありがとう数0
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 各社別Sheetの利用目的にもよりますが、 閲覧や印刷の目的だけでSheetを分けているとしたら、少し効率が悪いかもしれません。 集約された一つのSheetでデータの追加修正削除を行って、 閲覧/印刷時にフィルタリングするという方が良いと思われます。 そのほうがデータの一元化が図れますし、各社別Sheetにコピーする場合は、 コピー後にデータの修正や削除が行われた場合の対応も考えなければなりませんよ? とりあえず、行をコピーする時にどんなタイミングでコピーするか、ですが、 入力直後というのはいろんな点で制御が大変になるので、 入力後、コピーしたい行のA列をダブルクリック。 という事でどうですか? 該当Sheetがなければメッセージを出して終了します。 あればコピーしてコピー後のシートの行をSelectします。 その、『元のシート(Sheet1)』のシートタブを右クリックして[コードの表示]。 VisualBasicEditor(VBE)が起動します。 そのVBE内のカーソルがあるコードペインに下記マクロをコピーペーストします。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim sh As Worksheet Dim r As Range With Target If .Row <> 1 And .Column = 1 And Len(.Value) > 0& Then Cancel = True On Error Resume Next Set sh = Worksheets(.Value) On Error GoTo 0 If sh Is Nothing Then MsgBox "no sheet": Exit Sub On Error GoTo ERRLINE Set r = sh.Cells(Rows.Count, 1).End(xlUp).Offset(1) .EntireRow.Copy r Application.Goto r End If End With Set r = Nothing Set sh = Nothing Exit Sub ERRLINE: MsgBox Err.Number & vbLf & Err.Description End Sub
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17068)
関数はデータを条件に合うシート・セルにもって行くイメージの処理には弱いのです。エクセルの関数を少しやればそのことに気づくはずです。 関数はデータを採ってきて、置くセルから考えるものです。 それが判らないと、同じような質問を関数でやりたいと繰り返すことになります。 >A社であればA社のシートにコピーされるようにしたいです >にA社のシートにデータがあったら既存のデータの下に データがコピーされるようにしたい。 これらは関数ではできないか、式が非常に複雑になります。 ーーー こういう業務的なことにエクセルを使いたかったら、VBAを勉強してください。バッチ処理(起動処理をかけたときのみ実行)になりますが。
関連するQ&A
- sheet1から抽出しsheet2へコピーをVBAで
VBA初心者です。色々本など見たのですがどうして良いか判らず質問させて頂きます。 sheet2のA1にデータを入力したら、sheet1のA列に同じデータがあるかどうか探してある場合は、その行をsheet2の6行目からコピーをさせたいのですが、 (1)sheet1のデータは下に追加していきます。 (2)sheet2のデータ貼り付けは詰めて貼り付けていきたい。 sheet1 A B C 1 - - - 2 - - - 3 - - - 4 社名 商品名 入荷数 5 A社 ○ 10 6 B社 △ 5 7 C社 ■ 20 8 A社 × 30 9 D社 ○ 10 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ sheet2 A B C 1 A社 - - 2 - - - 3 - - - 4 - - - 5 社名 商品名 入荷数 6 A社 ○ 10 7 A社 × 30 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ -はブランクセル 色々試したのですが、sheet2にコピーはされてもブランクの行が詰まらないなど上手くいかないため教えて頂きたく質問させて頂きました。 宜しくお願いいたします。
- 締切済み
- オフィス系ソフト
- エクセルで条件により別シートへ分けるには?
エクセルにて シート1に 月 日 コード 科目 内容 収入 支出 a 4 5 1 事務 300 b 4 6 2 家電 5000 a 5 3 1 事務 500 a 5 7 3 水道 2000 b 6 4 5 光熱 3000 a 6 6 4 雑費 700 実際には、これから入力していくものも含めてさらに続きます。 このような表があり、最初のセルにaが入力されている場合は、シート2へ bが入力されている場合は、シート3へと自動で振り分けるにはどうしたら良いでしょうか? オートフィルタだと手間どるので簡易的になればと思うのですが...
- ベストアンサー
- オフィス系ソフト
- Excel VBA - 列をシート別に分ける
Excelブックにsheet1のみあり、A~BIを使った表があります。 G列が社名で、20社(A社、B社、C社・・・)くらいが出てきます。 このうち、特定の4社(B社, D社, G社, I社)のみのデータを、その社名をシート名にして書き出したいと思っています。 つまり、以下を4社分やるということです。 1. G列を"B社"でオートフィルタをかけて、フィルタ結果をコピーする。 2. 新規シートを挿入して、シート名を"B社"にして、フィルタ結果を貼り付ける。 お願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルでシート1からシート2へフォントごとコピーしたい
sheet1のA1セルの文字やデータをsheet2のA1セルへコピーするときシート2のA1セルに"=sheet1A1"と入力していますが、シート1のA1セルのデータを赤字入力してもシート2には黒字でしかコピーされません。これをシート1と同じ色でコピーする方法はありますでしょうか。よろしくお願いします。使用パソコンはウインxp、エクセル2000です。よろしくお願いします。
- ベストアンサー
- Windows XP
- Excelシートが別になったときの合計を関数でだす
シート1は商品とその単価を入力するデータ表、 シート2はシート1の合計表とします。 たとえばシート1にセルA1に1000円、セルA2に2000と入力したら、 シート2のセルA1に、商品AとBの計3000円が自動で入力されるようにできる関数がありましたら 教えてください。 Excel2019利用です。
- 締切済み
- Excel(エクセル)
- 条件付き書式のコピーについて
シート1のセルとシート2のセルが一致しない場合、書式の変化が発動するように設定しようとしています。 現在、シート1のセルA1の書式設定に、 「次の値に等しくない」 「=INDIRECT("Sheet2!$A1")」 と入力されています。 この時点でシート1のA1は正常に書式が発動されました。 そこでシート1のA列すべてに書式をコピーしたいのですが、コピーをするとすべてのセルの書式が「=INDIRECT("Sheet2!$A1")」となってしまいます。 「=INDIRECT("Sheet2!$A1")」 「=INDIRECT("Sheet2!$A2")」 「=INDIRECT("Sheet2!$A3")」・・・・ となってもらいたいのですが。 コピー方法はセルA1の書式設定したあと、マウスの右ドラックをして「書式のみコピー」を選択して実行しました。 どこか間違っていますでしょうか。
- ベストアンサー
- その他MS Office製品
- エクセル 条件付き書式の別シート参照について
エクセル2007にて、条件付き書式を使い、"Sheet1"と"Sheet2" を比較しようとしていますが 相対パスが当てられずに困っています。 ■したいこと Sheet1とSheet2のそれぞれ対応するセルを比較し、値が異なるなら Sheet1のセルの色を変える 「Sheet1のA1」と「Sheet2のA1」を比較 「Sheet1のA2」と「Sheet2のA2」を比較 「Sheet1のA3」と「Sheet2のA3」を比較 ・ ・ 「Sheet1のB1」と「Sheet2のB1」を比較 「Sheet1のB2」と「Sheet2のB2」を比較 ・ ・ 続く というように全部のセルを比較したいです。 ■したこと 条件付き書式では、直接 別シートを参照出来ないようなので Sheet1のA1の条件付き書式には、以下のように記載しました。 「=IF(A1=INDIRECT("Sheet2!A1"),0,1)」 しかし、""で囲んだ部分は、文字列として認識されているため そのままコピーされ、うまくいきません。 なにかいい方法ってないんでしょうか??? 詳しい方、ご教授いただけたらと思います。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルで、結合したセルへのコピーに困っております。どうかお助けください。
過去のログを調べてみたのですが、わかりません。どうか教えてください。 エクセル2000を使っています。今 sheet1にある名簿のデータをsheet2の表にコピーしたいのですが、sheet2の表は、3つの行を1つに結合しております。すなわちsheet1のA1、A2、A3、A4、A5、A6.....にあるデータをsheet2のA1、A2、A3を一つにしたセルにコピーしますと、セルが結合が解除されてコピーされてしまいます。 また、sheet2のA1、A2、A3を一つにしたセルのところで、「=sheet1!A1」と数式を入力しますと、そのセルはうまくデータが入力(コピー?)されるのですが、そのセルをそのままドラッグしますと、2番目のセル(sheet2のA4、A5、A6をひとつにしたもの)には、sheet1のA4が入力されてしまいます。sheet2の結合されたセルにsheet1の未結合のセルのデータを簡単に入力またはコピーする方法はないでしょうか。どうかよろしくお願いします。
- ベストアンサー
- その他(業務ソフトウェア)
- エクセル内の数式を反映させながらシートをコピーする方法
エクセルのシートのコピーについて教えて下さい。 1日1シートで表計算できる表を作るよう指示されました。 シート内には、累計を出すように(前日までの合計)+(本日の数字) の数式が入っています。 具体的に書きますと、セルA1に本日の数字を入力。 セルB1に(前日までの合計)+(本日の数字)と数式を入れました。 数式でいうと、例えばシート3のセルB1には(シート2:B1)+A1 シート4のセルB1には(シート3:B1)+A1 という具合にセルB1には前日までの合計を反映させるように、常に 前シートの累計をリンクさせています。 シートをコピーしては、セルB1の数式「前シート」部分を修正して こつこつシート7まで作ったのですが、30日分作って欲しいと 言われて困っています。 時間がたくさんあればこつこつ続けて完成させるのですが、就業上の 問題があってこれにずっと時間を割くことができません。 説明が長くなりましたが、ここで教えて頂きたいのです! 数式を反映させながら、シートをどんどんコピーする方法は ありませんでしょうか? 今、シート7まで作ったので、まんまコピーして7枚ずつ増やす 事は簡単ですが、累計部分の(前シート:B1)シートのリンクが 勝手には直ってくれません。 コピーすると同時に、前シートのリンクも直ってくれる方法が あればぜひ教えて下さい。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- Excel 抽出して別シートを作る方法
Excelで下記のようなデータ表(1000件程度)があります。 社名 年代 値段 A社 2005 10000 B社 2005 5000 C社 2005 3000 D社 2005 20000 A社 2006 20000 C社 2006 3000 ・ ・ 社名 年代 2004 2005 2006 A社 0 10000 20000 B社 0 5000 0 C社 0 3000 3000 D社 0 20000 0 会社毎の年代別の値段表に作り替えたいのですが、どのように処理すれば出来ますでしょうか? 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト