• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelで離れたセルへのデータ貼り付け)

Excelで離れたセルへのデータ貼り付け

このQ&Aのポイント
  • Excelで、データ表があり、横軸に年月、縦軸に品目名が入ったものです。データは順不同でアップデートされます。
  • 必要なデータをオートフィルタを使って表示させ、一括でコピー&ペーストする方法があります。
  • ExcelのバージョンはXP(2002)です。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 次の様な方法は如何でしょうか?  まず、「全く別のExcelファイル」に、新しいワークシートを作成して、そのワークシート名を例えば「元データ」等として下さい。  次に、Sheet1~Sheet3において、目標値を表示させる全てのセルに、次の様な関数を入力して下さい。 =IF(OR(INDEX($A:$A,ROW())="",INDEX($1:$1,COLUMN())=""),"",IF(COUNTIF(元データ!$A:$A,INDEX($A:$A,ROW()))*COUNTIF(元データ!$1:$1,INDEX($1:$1,COLUMN())),IF(VLOOKUP(INDEX($A:$A,ROW()),元データ!$A:$M,MATCH(INDEX($1:$1,COLUMN()),元データ!$1:$1,0)-COLUMN(元データ!$A$1)+1,FALSE)="","",VLOOKUP(INDEX($A:$A,ROW()),元データ!$A:$M,MATCH(INDEX($1:$1,COLUMN()),元データ!$1:$1,0)-COLUMN(元データ!$A$1)+1,FALSE)),"-"))  その上で、基となる「データ表」をコピーして、元データシートのA1セルの所が「データ表」の左上の隅になる様に貼り付けますと、Sheet1~Sheet3の各シート上に目標値が表示されます。(この操作は、コピーしたセルの挿入ではなく、通常の貼り付けで行って下さい)  因みに、基となる「データ表」をコピーする際に、フィルターを使用して、必要となるデータのみをコピーした方が、「全く別のExcelファイル」のデータ量の節約になるかと思います。  この方法ならば、 >毎月ファイル名が異なります。 という問題に関しましても、前月の「全く別のExcelファイル」のコピーファイルを作成し、そのコピーファイルの元データシートの古いデータを全て消去して、今月のデータを貼り付けるだけで済む筈です。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

回答No.5

ちなみに、VBAとして回答しています。 >私の勘違いだといけないのですが、これだと「データ表からデータを貼り付ける」ではなく、 >「データ表にデータを貼り付ける」事になってしまわないですか? >データを『可視セルにのみ貼り付け』も可能ですか? 良くわかりません。 可視セルを貼り付けることができればよかったのではないでしょうか。 オートフィルターをかけ、 可視セルのコピー そして、2行あけて貼り付けしていけば良い話じゃないですか? 貼り付け現在位置を数え、 フィルター抽出結果が何件になったかを取得 Result=WorksheetFunction.Subtotal(3、Range(”A:A"))'A列の可視行を数えます。 Currentregonでもいいと思います(スペル合ってるか不明) やりたいことは未だよく分かっていないのですが、 B列が毎回入っている前提として考えると 1.オートフィルターで必要な部分のみ表示 2.可視セルをコピー 3.貼り付け位置の最終行を取得 (1回目ならA1とかにする) 4.可視セルを貼り付ける 5.B列に1列挿入(1回のみ) 6.目標、実績、差異と入力 これを繰り返せば良い話では? たぶんですが。

AkiAki2525
質問者

お礼

私自身が使うだけならば、VBAで良いのですが、 他の人が使うため、できれば数式だけで済まそうと思います。 ご回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • chonami
  • ベストアンサー率43% (448/1036)
回答No.3

>式の参照先を置換するという事でしょうか? はい。それでもいいと思います。問題ありますか? 日付によってファイル名が違うという事はその日付をどこかで参照させるようにしてINDIRECT関数などを使う事も可能でしょうし、元ファイルにする用のブックを作っておいてデータだけそのファイルに貼り付けるというような方法もあると思います。 工夫すればいくらでも方法はありますが。

AkiAki2525
質問者

お礼

地道に数式を入れていこうと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • chonami
  • ベストアンサー率43% (448/1036)
回答No.2

商品名に被りがないなら、VLOOKUP関数とかでできないんでしょうか?

AkiAki2525
質問者

補足

参照するためのデータ表は、まとめたいExcelブックとは別のブックです。 また、そのデータ表のファイルネームは毎月違います。 式の参照先を置換するという事でしょうか?

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

Excel2003の場合ですが、回答します。 Selection.SpecialCells(xlCellTypeVisible).Select '可視セルの選択 Selection.Copy Sheets(Worksheet_Name).Range("A1") '可視セルコピー こういう方法でしょうかね? オートフィルタは出来るということですので、 この方法で良いかと思います。 ただ、可視セル全て選択してしまっているため、 見出し部分の行を削除するか、 selectする範囲を変更するかで対応いただけるかと思います。 他にいい回答が出るかもしれませんが、 参考まで^^

AkiAki2525
質問者

補足

私の勘違いだといけないのですが、これだと「データ表からデータを貼り付ける」ではなく、 「データ表にデータを貼り付ける」事になってしまわないですか? データを『可視セルにのみ貼り付け』も可能ですか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルでの関数にかなり詳しい方お願いします!

    エクセル関数に詳しい方、教えて下さい!! ABC分析を行なうに当たって、まず各店舗(5店舗)のデータ(品名とそれぞれの売上高)をエクセル上で横に並べ、同一品目については売上高の合計を算出しないといけない作業があります。 A列:品名 B列:店舗(1)の売上高 C列:店舗(2)の売上高 D列:店舗(3)の売上高 E列:店舗(4)の売上高 F列:店舗(5)の売上高 各店輔で在庫品目は異なり、各店のデータは別々にエクセル形式でFDに入っています。今までは、1つのシート上に各店輔のデータを地道に、コピー・ペースト→五十音順に並べ替え→同じ品目名については1つだけ残して同じ品目は削除し、売上高を手作業で横1列に並べる、という作業を行なっていました。 しかし、現在在庫品目数は1000を超え、その作業に膨大な時間がかかってしまいます。3店舗分に関してはJANコード?のようなもので管理出来るので、このコードを使って何か関数を当てはめ、時間の削減を出来ないでしょうか? 例えば、各店舗のデータを別々のシートにコピーし、コードが同一であれば、品目名とその売上高の合計を別のシートに算出する・・・ということは出来るでしょうか? 文章で書けることではないかもしれませんが・・・何か少しでもアドバイスいただけると嬉しいです。よろしくお願い致します。

  • エクセルデータ照合

    エクセルのデータ照合によりデータの統合をしたいです。 Sheet1 A校 50% B校 30% C校 40% D校 30% E校 20% Sheet2 B校 C校 E校 F校 Sheet1 とSheet2 の学校を照合して共通校のみを抽出しSheet3として B校 30% C校 40% E校 20% データ数は約1万件です。 宜しくお願いいたします。

  • Excelで

    Excelでシート1、納品書です、A1に品名B1単価、C1合計です、シート2にA1品名B1に単価が作成された表が有ります50品目、シート1の納品書A1に品名を入れると単価が自動的に入力される方法お願いします。

  • エクセル関数でグループ単位に集計を行う

    エクセル初心者です。 入力伝票データを元に、集計シートに自動的に品名コード順の合計を作成したいのですが、うまくできません。 データシートのデータをソートせずに関数だけで出来る方法をお教えください。 ※エクセルはExcel2003を使用しています。 《データシート》例 [見出し] A1:年月日,B1:伝票番号,C1:品名コード,D1:数量,E1:単価,F1:金額 [データ] A2:2008/10/1,B2:Z-001,C2:S0001,D2:3,E2:1,000,F2:3,000 A3:2008/10/1,B3:Z-002,C3:S0002,D2:1,E3:2,000,F3:2,000 A4:2008/10/1,B4:Z-003,C4:S0003,D4:2,E4:3,000,F4:6,000 A5:2008/10/2,B5:Z-004,C5:S0002,D5:1,E5:2,000,F5:2,000 A6:2008/10/2,B6:Z-005,C6:S0001,D6:3,E6:1,000,F6:3,000 A7:2008/10/3,B7:Z-006,C7:S0003,D7:2,E7:3,000,F7:6,000 《集計シート》例 [見出し] A1:品名コード,B1:伝票数,C1:数量計,D1:合計金額 [集計値] A2:S0001,B2:2,C2:6,D2: 6,000 A3:S0002,B3:2,C3:2,D3: 4,000 A4:S0003,B4:2,C4:4,D4:12,000 ※品名コードは固定せず、データシートに入力されたものだけを集計したい

  • エクセルでデータを簡単に登録したい。

    エクセルでデータを呼び出して誰でも簡単に、見栄えよく修正後再登録したいのですが。 知恵をおかしください データシートには横列で品目コード、品名、規格、使用場所、在庫、使用回数となっており 登録シートには縦列に品目コード、品名、規格、使用場所、在庫、使用回数となっています。 出来れば品目コードで呼び出しも出来、使用場所でも呼出し出来る様にしたいです。 項目データ変更後、更新し、新規登録も出来、在庫がラスト1になると 赤表示になりデータシートに反映され、登録シートに警告表示、される様に 月ごとの使用回数が集計され専用シートに登録し、検索した時に表示されればと思いますがどこかに項目、シート追加はOKです。よろしくお願いします。 なお、エクセルしかありませんので、よろしくお願いします

  • エクセルで別シートのデータを抽出

    ~シートA~   A B C D E F G  ┌─────────────┐ 1│ │10│20│30│40│50│60│  │ │───────────│ 2│ │11│21│31│41│51│61│  │4│───────────│ 3│月│12│22│32│42│52│62│  │ │───────────│ 4│ │13│23│33│43│53│63│  │ │───────────│ 5│ │14│24│34│44│54│64│  └─────────────┘ 6  ┌─────────────┐ 7│ │10│20│30│40│50│60│  │ │───────────│ 8│ │11│21│31│41│51│61│  │5│───────────│ 9│月│12│22│32│42│52│62│  │ │───────────│ 10│ │13│23│33│43│53│63│  │ │───────────│ 11│ │14│24│34│44│54│64│  └─────────────┘         ・         ・         ・ ~シートB~   A B C D E F G  ┌─────────────┐ 1│ ▽ │ │ │ │ │ │  │ │───────────│ 2│ │ │ │ │ │ │ │  │○│───────────│ 3│月│ │ │ │ │ │ │  │ │───────────│ 4│ │ │ │ │ │ │ │  │ │───────────│ 5│ │ │ │ │ │ │ │  └─────────────┘ ↑はリストボックスで1月~12月の値が入っている。 上記条件でシートBのリストボックスから選んだ月のデータをシートAの表から該当する月のデータを全て抽出したいのですが、どのようにすればよろしいでしょうか。

  • エクセルの貼り付けについて

    シート1には  A B 1あ い 2う  3え お という表があります シート2には  C 1か 2き  という表があります シート1の2行目はしばらく使わないので 非表示にして Cの列をコピーして貼り付けをしたところ 2行目に「き」と入力されてしまいました このきを3行目に表示させるコピー&ペーストの方法ありませんか? エクセル2016使用

  • Excelで複数のSheetにある数字をひとつのSheetにまとめる

    あるExcelファイルに5個のSheetがあります。Sheet1~Sheet4までは週間の項目実績です。A列はアイテム、B列は目標、C列は実績、D列は差異、E列は達成率。 このSheet1~4を合算したものをSheet5に表示したいのですが、VBAでどのように作成すれば良いのですか? =Sheet1A1+Sheet2A2+ .....ってやるの面倒なので。

  • 【エクセル関数】別シートから複数列のデータを一度に挿入する方法

    はじめまして。 エクセル関数について下記ご教示願います。 ●Sheet1のE列を基準にSheet2のデータをSheet1に挿入 ●Sheet2から挿入する列は複数ある ●Sheet2の複数列に対応するSheet1の列も複数ある  ⇒Sheet2の複数列データをSheet1の対応する列に一度に挿入したい [Sheet2]  A     B      C     D       E     F 1番号  品名     規格名 アイテム番号  メーカー  発売日 2 1  バラ     A2354   5673      山田  12/12  3 2  キク    B6899 8239      田中 12/23 4 3  ラン    C1432 3324     中田 12/24 [Sheet1]  A    B    C    D    E   F 1番号 規格名  メーカー  品名  アイテム番号 発売日 2 1               5673 3 2               8239 4 3               3324  ◆Sheet2のデータをSheet1に挿入ということで、 [Sheet2][Sheet1]    C ⇒⇒ B    E ⇒⇒ C    B ⇒⇒ D    F ⇒⇒ F この複数列のデータ挿入を一気に行う方法はあるのでしょうか。 よろしくお願い致します。

  • Excelで表のセルの操作

    Excelのファイルがあります。 例として sheet1: ********************************************* Jan-O4 Feb-04 Mar-04 Apr-04 a1-------b1------c1-----d1 a2-------b2------c2-----d2 a3-------b3------c3-----d3 May-04 Jun-04 e1-------... e2-------... e3-------... ********************************************* (注:-は空白の事です。) sheet2: ********************************************* Feb-04 Mar-04 Apr-04 May-04 b1------c1-----d1------e1 b2------c2-----d2------e2 b3------c3-----d3------e3 Jun-04 July-04 ...----... ...----... ...----... **************************************** (注:-は空白の事です。) sheet1からsheet2ができるようにしたいです。 (毎月同じようなの操作の繰り返しです) すなわち、来月になるとsheet1の最初の月のデータを削除して、残りのデータをsheet2にコピー、最後sheet2に新しい月のデータを入力する、データの量はいつも半年のデータです、表のデザインも同じです。 ただ、実際データの量が多いので、普通のセルコピーのようなのやり方、時間が掛かります。 ほかにいい方法がありますか?教えてください! できれば、サンプルも欲しいです。 お願いします。

専門家に質問してみよう