アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルの1ファイル中にある複数のワークシートの列(項目は同じ)を
新しいワークシート列に統合する機能はありますか?

ワークシート(1) 列A-1 列B-1 列C-1
ワークシート(2) 列A-2 列B-2 列C-2
ワークシート(3) 列A-3 列B-2 列C-3

新ワークシート 列A-1 列B-1 列C-1
          列A-2 列B-2 列C-2
          列A-3 列B-3 列C-3

と、いう具合です。コピーすればいいのですが、
一括でできる方法があれば、教えてください。

よろしくお願いいたします。



                   

A 回答 (3件)

実際にあなたの手にあるエクセルの具体的な正しい姿と内容を,目に見えるように手抜きせずご相談に書いてみると,たとえば統合や串刺しの計算でひとまとめに出来る可能性はあります。




説明が出来ないのなら,ごくありきたりの方法で
シート4のA1:
=Sheet1!A1&Sheet2!A1&Sheet3!A1
と記入し,A1をA1からC3までコピーするとご相談に書かれた事が実現できます。
    • good
    • 1
この回答へのお礼

お礼が遅れて申し訳ありませんでした。
ご回答ありがとうございました。
参考にさせていただきます。

エクセルはあまり得意ではないので、精進いたします。

お礼日時:2011/01/22 17:30

(1)統合というエクセルの機能を試しましたか


(2)またVBAを勉強すれば、10行ぐらいのプログラムで、実現すると思います。
処理ロジック(アイデア)は奇抜なものは使わなくて良い。
(3)関数で処理するのは適してないと思う。
一種の「表の組み換え」問題だが、表の組み換えは関数では不可能といって良いぐらい複雑になる。
ーーー
(2)の一例
集積用シートはSheet4とする。
Sub test01()
Dim sh As Worksheet
For Each sh In Worksheets
If sh.Name = "Sheet4" Then
Else
d1 = sh.Range("A65536").End(xlUp).Row
MsgBox d1
d2 = Worksheets("Sheet4").Range("A65536").End(xlUp).Row
MsgBox d2
Range(sh.Cells(2, "A"), sh.Cells(d1, "C")).Copy Worksheets("Sheet4").Cells(d2 + 1, "A")
End If
Next
End Sub
    • good
    • 0
この回答へのお礼

お礼が遅れて申し訳ありませんでした。
ご回答ありがとうございました。
参考にさせていただきます。

お礼日時:2011/01/22 17:29

一例です。


(1)新ワークシートのA1に=OFFSET(INDIRECT("'ワークシート("&ROW(A1)&")'!A1"),ROW(A1)-1,COLUMN(A1)-1)を設定、縦横にコピー
(2)数式コピー範囲をコピー→形式を選択して貼り付け→値を選択→OK
    • good
    • 0
この回答へのお礼

お礼が遅れて申し訳ありませんでした。
ご回答ありがとうございました。
参考にさせていただきます。

お礼日時:2011/01/22 17:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!