プロが教えるわが家の防犯対策術!

エクセルの1つのシートの複数の列にデータがあって、それを1つの列にまとめる方法を教えてください。
A列のデータの最後の次にB列のデータ、C列のデータと次々にデータをつなげたいのです。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

No.1です。

以下でどうでしょう。シート1からシート2へコピーします。
i = 1
For 列 = 1 To 255
For 行 = 1 To Cells(65536, 列).End(xlUp).Row
Sheets("sheet2").Cells(i, 1) = Sheets("sheet1").Cells(行, 列)
i = i + 1
Next
Next
    • good
    • 3
この回答へのお礼

ありがとうございました
完璧です

お礼日時:2006/04/13 18:10

#2>データの入っていないセルが大量に発生します。


アクティブセルある列のアクティブセル以下の部分で空白セルを削除するマクロ
Public Sub del_empty_cell()
Dim r As Range, end_cell As Range
Set r = ActiveCell
Set end_cell = Cells(65536, r.Column).End(xlUp)
Application.ScreenUpdating = False
Range(r, end_cell).Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete Shift:=xlUp
r.Select
Application.ScreenUpdating = True
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました
うまくいきました

お礼日時:2006/04/13 12:31

No.1です。


>1列に入っているデータが大量でかつ数が一定でないので↑を実行するとデータの入っていないセルが大量に発生します。
具体的なデータを示してもらえると、マクロで実行可能かもしれません。

この回答への補足

こういうデータがあるとして(実際には列も行も大量にあり、かつ1列にあるデータの数が一定でない)
  A   B  C  D  
1| d1  d7  d11  d16
2| d2  d8  d12  d17
3| d3  d9  d13
4| d4  d10  d14
5| d5      d15
6| d6

これを

  A 
  d1
  d2
  d3
  ・
  ・
  d17

こういう風に1列にデータを順番にまとめたいのです
よろしくお願いします

補足日時:2006/04/11 18:37
    • good
    • 3

http://okwave.jp/kotaeru.php3?qid=1810528
が参考になりますか

この回答への補足

ありがとうございました。
一応これでも十分なのですが
1列に入っているデータが大量でかつ数が一定でないので↑を実行するとデータの入っていないセルが大量に発生します。
ソートして空白行を削除して戻せば問題ないのですが。そこまで自動化できれば完璧なのですが。

補足日時:2006/04/11 17:19
    • good
    • 0

&演算子を使用して、セルのデータを結合すれば、できます。


=A1 & B1 & C1 という式を入力します。
    • good
    • 0
この回答へのお礼

さっそくありがとうございました
説明不足でしたが、複数の列のそれぞれに複数のデータがあり(かなり大量)しかもそれぞれの列のデータの数が一定でないものを1つの列にまとめたいのです。
上の方の方法でなんとかなりそうです。

お礼日時:2006/04/11 17:32

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q複数列を一列にする方法

Excelで複数列に渡るデータを1列にまとめたいのですが、カット&ペースト以外によい方法はありませんでしょうか。

例えば表にあるセルA1-A10、B1-B10、C1-C10、D1-D10、E1-E10のデータを
F列のF1から下へ一列に並べるといった感じです。
A1-A10→F1-F10
B1-B10→F11-F20
C1-C10→F21-F30
D1-D10→F31-F40
E1-E10→F41-F50

よろしくお願いします。

Aベストアンサー

F1セルには次の式を入力し下方にオートフィルドラッグします。
=IF(ROW(A1)>10*5,"",INDEX($A$1:$E$10,IF(MOD(ROW(A1),10)=0,10,MOD(ROW(A1),10)),ROUNDUP(ROW(A1)/10,0)))

Qエクセル関数で、2列の情報を1列に順番に並べたい

以下の元データのようにA~D列にある情報を、
下方のE列、F列にあるように情報を合わせて表示したい場合、
E列、F列にはどのような関数を入れたらよいでしょうか。

COUNTIFやVLOOKUP関数を試してみましたが、
うまく順番に並べることができず途方に暮れています。。。

どなたかお知恵がある方、マクロではなく関数で
教えていただけたらありがたいです。


※A列はB列の情報番号、C列はD列の情報番号です。


↓元データ↓

A  B    C   D
1 みかん  1 あ
1 みかん  2 い
1 みかん  3 う
2 りんご   4 え
2 りんご   5 お
3 すいか  6 か
3 すいか  7 き
3 すいか  8 く
3 すいか  9 け



↓このようにしたいです。↓

A  B    C  D   E  F
1 みかん  1 あ   1  みかん
1 みかん  2 い   1  あ
1 みかん  3 う   2  い
2 りんご   4 え   3  う
2 りんご   5 お   2  りんご
3 すいか  6 か   4  え
3 すいか  7 き   5  お
3 すいか  8 く     3  すいか
3 すいか  9 け   6  か
               7  き
               8  く
               9  け


何とぞよろしくお願いします。

以下の元データのようにA~D列にある情報を、
下方のE列、F列にあるように情報を合わせて表示したい場合、
E列、F列にはどのような関数を入れたらよいでしょうか。

COUNTIFやVLOOKUP関数を試してみましたが、
うまく順番に並べることができず途方に暮れています。。。

どなたかお知恵がある方、マクロではなく関数で
教えていただけたらありがたいです。


※A列はB列の情報番号、C列はD列の情報番号です。


↓元データ↓

A  B    C   D
1 みかん  1 あ
1 みかん  2 い
1 みかん  3 う
2 ...続きを読む

Aベストアンサー

 まず、処理を簡単にするために、1行目は項目名等を入力するために使用し、実際のデータは2行目(或いは更に下の行)から入力する様にして下さい。
 その上で、E2セルには次の関数を入力して下さい。

=IF(ISNUMBER($E1),IF(COUNTIF($E$1:$E1,$E1)=COUNTIF($A:$A,$E1)+1,IF(COUNTIF($A:$A,">"&$E1),SMALL($A:$A,COUNTIF($A:$A,"<="&$E1)+1),""),$E1),IF(ROWS($2:2)=1,IF(COUNT($A:$A),MIN($A:$A),""),""))

 次に、F2セルに次の関数を入力して下さい。

=IF($E2="","",IF(COUNTIF($E$1:$E1,$E2),INDEX($D:$D,MATCH($E2,$A:$A,0)+COUNTIF($E$1:$E1,$E2)-1),VLOOKUP($E2,$A:$B,2,FALSE)))

 次に、E2~F2の範囲をコピーして、同じ列範囲の3行目以下に貼り付けて下さい。

 これで、御希望の様に並べ替えられたデータがE列~F列に表示されます。

 まず、処理を簡単にするために、1行目は項目名等を入力するために使用し、実際のデータは2行目(或いは更に下の行)から入力する様にして下さい。
 その上で、E2セルには次の関数を入力して下さい。

=IF(ISNUMBER($E1),IF(COUNTIF($E$1:$E1,$E1)=COUNTIF($A:$A,$E1)+1,IF(COUNTIF($A:$A,">"&$E1),SMALL($A:$A,COUNTIF($A:$A,"<="&$E1)+1),""),$E1),IF(ROWS($2:2)=1,IF(COUNT($A:$A),MIN($A:$A),""),""))

 次に、F2セルに次の関数を入力して下さい。

=IF($E2="","",IF(COUNTIF($E$1:$E1,$E2),INDEX($D:$D,MA...続きを読む

Qエクセルで横並びの複数データを縦の一本のデータにしたい

こんにちは。宜しくお願い致します。

   A   B  C
1 静岡 埼玉 
2 福島 東京 愛媛
3 青森 
4 長崎 徳島 愛媛
5 東京 千葉 
6 秋田 兵庫 大阪
.
.
.


例えばこういう形で好きな都道府県の上位3つの解答がそれぞれあったとします。(1個の人もいるし、2個の人もいます)

これを別のシート(同じシートの違う場所でも構いません)に縦並び1本で出したいときどうしたらいいでしょうか。

★こういう風にしたい★

静岡
福島
青森
長崎
東京
秋田
埼玉
東京
愛媛
徳島
愛媛
千葉
兵庫
大阪
.
.

※好きな県などが人によって重複していても構いません、また順不同でもいいです。(縦並びのデータに東京が20個あってもよいということ)

形式を選択して貼り付けで行列を入れ替えるではうまくいかないです。

宜しくお願い致します。

Aベストアンサー

VBAで、もっと簡単に。
下記をVBEの標準モジュールにコピーし貼りつけ。
元データのあるシートで、データのある範囲を範囲指定して(空白セルが範囲内にあっても結構)、下記を実行。
Sub ichiretu()
Dim cl As Range
p = 1
For Each cl In Selection
If cl <> "" Then
Worksheets("sheet3").Cells(p, "A") = cl
p = p + 1
End If
Next
End Sub
Sheet3のA列に並びます。

Qexcelで行や列をまとめる

excelで行や列をまとめて+をクリックすると展開されるようにできますが
どうやってやればよいでしょうか?

Aベストアンサー

メニュー → データ → グループとアウトライン設定 → グループ化
でしょうか?

Qエクセルで複数列の数字を1行に整列したい

エクセルで複数列の数字を1行に整列したい

24列、365行の数値が並んでいます。
これを1行8760列に並べ替えたいと思っています。

25列目から2行目の24列分を移動。49列目からに3行目の24列分・・・
といった具合で、具体的には下記の通りです。

例:
1.○○ ●● ・・・・・・・(24列)
2.□□ ■■ ・・・・・・・(24列)
3.▽▽ ◎◎ ・・・・・・・(24列)
     ・
     ・
     ・
    
下記のように変換したいのです。(1行で8760列に)
1.○○ ●● ・・・・・□□ ■■ ・・・・・▽▽ ◎◎・・・・・

過去ログも参照したのですが過去の応用が効かずなかなか上手く
いきません。 
よろしくお願い致します。

Aベストアンサー

Y1=OFFSET($A$1,INT((COLUMN()-1)/24),MOD(COLUMN()-1,24))
★LXX列まで右にコピー

QExcelで2行を1行にまとめるには?

Excelで2行を1行にまとめる方法を教えてください。下の6行を2行にするには、どうしたらいいのでしょうか?
よろしくおねがいします。

Excel2003です。


A little knowledge is a dangerous thing.
(生兵法はけがのもと)
空白行
After a storm comes a calm.
(雨降って地固まる)
空白行


第1行:A little knowledge is a dangerous thing.(生兵法はけがのもと)
第2行:After a storm comes a calm.(雨降って地固まる)

Aベストアンサー

(データ)A1:A100
(1)A little knowledge is a dangerous thing.
(2)(生兵法はけがのもと)
(3)空白行
(4)After a storm comes a calm.
(5)(雨降って地固まる)
(6)空白行
(7)・・・・(略)
(8)・・・・
(9)・・・・
(関数式)E1に(B1でも良いが)
=INDEX($A$1:$A$100,(ROW()-1)*3+1,0)&INDEX($A$1:$A$100,(ROW()-1)*3+2,0)
E2以下最下行の1/3行まで複写する。
(結果)
(1)A little knowledge is a dangerous thing.(生兵法はけがのもと)
(2)After a storm comes a calm.(雨降って地固まる)
(3)以下略

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QExcel表を一列にしたい

7列の表を一列に直したいのです。
A1,A2,A3・・B1,B2とあるものを別のシートに
A1→A1,B1→A2,C1→A3・・・と、すべてを一列にするにはどうしたらいいでしょうか?
Offsetを使うことも考えましたが、あまり効率がいいとも思えず、
マクロもどうすればいいかがわかりません。
表には数値だけでなく文字列もあるので、抽出はいらないのですが、
作業で一列になっていないと不便なのです。
いい方法はありませんか?
Excelは2003です。

Aベストアンサー

マクロの例です。

Sub test1()
  Dim rng As Range
  Dim i As Long
  
  Set rng = Sheets("Sheet1").Range("A1:G10")
  For i = 1 To rng.Count
    Sheets("Sheet2").Cells(i, "A").Value = rng(i).Value
  Next i
  Set rng = Nothing
End Sub

Sub test2()
  Dim rng As Range
  Dim n As Long
  Dim i As Long
  
  Set rng = Sheets("Sheet1").Range("A1:G10")
  n = rng.Columns.Count
  Application.ScreenUpdating = False
  For i = 1 To rng.Rows.Count
    rng.Rows(i).Copy
    Sheets("Sheet2").Cells(i, "A").Offset((i - 1) * (n - 1)).PasteSpecial _
      Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
  Next i
  Application.ScreenUpdating = True
  Set rng = Nothing
End Sub

マクロの例です。

Sub test1()
  Dim rng As Range
  Dim i As Long
  
  Set rng = Sheets("Sheet1").Range("A1:G10")
  For i = 1 To rng.Count
    Sheets("Sheet2").Cells(i, "A").Value = rng(i).Value
  Next i
  Set rng = Nothing
End Sub

Sub test2()
  Dim rng As Range
  Dim n As Long
  Dim i As Long
  
  Set rng = Sheets("Sheet1").Range("A1:G10")
  n = rng.Columns.Count
  Application.ScreenUpdating = False
  For i = 1 To rng...続きを読む

Qエクセルで複数の列データをひとつにまとめて表示したい

エクセルの操作で住所録を作成しました。
その際、A列に姓、B列に名前を入力しました。
後で、同じ列になるようにしたいと思いました。
どうしたら、入力データを消すことなく1つの列に入力することが出来ますか?
ご存知の方、回答の方よろしくお願いします。

Aベストアンサー

計算式でC列に
=A1&" "&B1
としてみてください。
できますよ
””は姓と名の間に空白を入れるため入れました。

&(アンド)でデータをくっつけることが出来ます。

ちなみにエクセルは
かなりの量の紹介HPが出ているので
VABなどを使わない限り
出てないものはないですよ~。

検索で
「excel 文字をつなげる」
とか検索したら出ると思います。


excelについてはどんなことでも探せばほぼ出てきます。
しかもわかりやすいのが多いですよ。
本買うよりよっぽどいいです。

ご参考にURL入れましたが。googleで検索のほうが早いです。
がんばってください。

参考URL:http://www.eurus.dti.ne.jp/~yoneyama/

Q複数の列に入力されている文字を一列にまとめる。

Excelに関して質問です。

複数の列に入力されている文字を一つの列にまとめる方法が知りたいです。
その際、文字が入力されていない箇所は詰めて並べたいと思います。

範囲はB4~AD83の間です。
ただ、状況として範囲内の空白には書式(関数)が入っている状態です。


 A   B   C     D   E
1文字1 空白 文字2  文字3  空白
2空白 文字4 文字5  空白   空白

F
文字1
文字2
文字3
文字4
文字5

*画像としても載せておきます。



何卒、ご教授よろしくお願いします。

Aベストアンサー

数式でやるならA1セルに
=IF(COUNTIF($B$1:$AD$83,"*?")<ROW(A1),"",
INDEX($B$1:$AD$83,SMALL(IF($B$1:$AD$83<>"",ROW($B$1:$AD$83)),ROW(A1)),
MOD(SMALL(IF($B$1:$AD$83<>"",ROW($B$1:$AD$83)*100+COLUMN($B$1:$AD$83)-1),ROW(A1)),100)))
[Ctrl]+[Shft] +[Enter] で確定、配列数式。{ }で挟まれる


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング