1データ10項目ありますが
(行→1データ,列→10項目)
大量のデータがあります。
 ここで質問ですが、10項目(10列)の内の1項目を
並び替えして時、1項目(1列)のみが、並び替わって
しまいます。
 残りの項目も、並び換える1項目と同様に(関連
して)並び換えたいのですが、どの様にしたら良い
のでしょうか?
 よろしくお願いします。

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

A 回答 (1件)

一緒に並べ替えたいデータ10列全てを選択してから


メニューバーで データ→並べ替え を選択してください。
並べ替えのキーになる列を選択すればできます。 
    • good
    • 0

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

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

Qエクセルで1列に500行並んだデータを5列毎に改行

エクセル2000で、A1~A500までデータが縦並びに入力されています。

これを5列毎に改行して、横並びのデータに加工したいのですが、何か方法ありますか?

図解すると、、


A1
A2
A3
A4
A5
A6
A7


A500

のデータを

A1 A2 A3 A4 A5
A6 A7 A8 A9 A10
・・・・・・
A496 A497 A498 A499 A500



したいのです。

何かよい方法ありましたらお教え願います。

Aベストアンサー

'直接シートをいじるのでコピーをしてから試してみてください。
Sub Macro1()
COUNTER = 0
For INP = 1 To Cells(Rows.Count, 1).End(xlUp).Row Step 5
COUNTER = COUNTER + 1
Range("A" & INP & ":A" & INP + 4).Copy
Range("B" & COUNTER).PasteSpecial Paste:=xlPasteValues, Transpose:=True
Application.CutCopyMode = False
Next INP
Range("A1").EntireColumn.Delete
End Sub

Qエクセルで縦に並んだデータをある項目毎に横に並び替えたい

エクセルで以下のような「店の名前、果物名、個数、金額」が書かれた表のデータがあります。
| A | B | C | D
1|A店|りんご| 2 |400
2|A店|みかん| 3 |300
3|A店|バナナ| 4 |200
4|B店|りんご| 3 |600
5|B店|バナナ| 2 |100

これを別シートに次のようなかたちにしたいのですが、一つずつ移動する以外に方法はありますか?

| A | B | C | D | E | F | G | H | I | J
1|A店|りんご| 2 |400 |みかん| 3 | 300 | バナナ| 4 |200
2|B店|りんご| 3 |600 ||バナナ| 2 |100

エクセルの関数で処理し、できれば別シートにたいのですが、
良い方法を教えていただければ、幸いです。
なにとぞ、宜しくお願いいたします。
(別の方の質問で、果物と個数までの処理する回答がありましたが、
金額まで入れた3要素を集計する場合の関数が分かりませんでした。)

エクセルで以下のような「店の名前、果物名、個数、金額」が書かれた表のデータがあります。
| A | B | C | D
1|A店|りんご| 2 |400
2|A店|みかん| 3 |300
3|A店|バナナ| 4 |200
4|B店|りんご| 3 |600
5|B店|バナナ| 2 |100

これを別シートに次のようなかたちにしたいのですが、一つずつ移動する以外に方法はありますか?

| A | B | C | D | E | F | G | H | I | J
1|A店|りんご| 2 |400 |みかん| 3 | 300 | バナナ| 4 |2...続きを読む

Aベストアンサー

こんばんは!

VBAでの一例です。
↓の画像のように元データはSheet1にあり、1行目は項目行になっているとします。
Sheet2に表示するようにしてみました。

Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)
マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() 'この行から//
Dim i As Long, c As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.Clear
With Worksheets("Sheet1")
.Range("A:A").AdvancedFilter Action:=xlFilterCopy, copytorange:=wS.Range("A1"), unique:=True
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
Set c = wS.Range("A:A").Find(what:=.Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
wS.Cells(c.Row, Columns.Count).End(xlToLeft).Offset(, 1). _
Resize(, 3).Value = .Cells(i, "B").Resize(, 3).Value
Next i
End With
wS.Rows(1).Delete
wS.Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous
wS.Columns.AutoFit
End Sub 'この行まで//

※ 関数でないのでデータ変更があるたびに
マクロを実行する必要があります。m(_ _)m

こんばんは!

VBAでの一例です。
↓の画像のように元データはSheet1にあり、1行目は項目行になっているとします。
Sheet2に表示するようにしてみました。

Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)
マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() 'この行から//
Dim i As Long, c As Range, wS As Worksheet
Set wS =...続きを読む

QExcelで表に入力されたデータを1列に並び替え

第1行に47都道府県名、列Aに1980ー1999年の入った表があります
つまり、B2は北海道の1980年のデータ、AV21は沖縄の1999年のデータが入ります
この表を以下のように1列に変換するにはどうすればよいでしょうか
INDEX関数などで試そうとしましたができませんでした

列A 列B 列C
北海道 1990 元B2のデータ
北海道 1991 元B3のデータ
(中略)
沖縄 1998 元AV20のデータ
沖縄 1999 元AV21のデータ

Aベストアンサー

こんばんわ。

INDIRECT関数を使用して、R1C1形式のセル指定で、変換データを表示する計算式を考えました。

元データがシート"Sheet1"にあるとして、変換データを別シートに表示する計算式を下に示します。
なお、変換データは、セルA2~C941に入れるものとします。

A列(A2~A941)の式
=INDIRECT("Sheet1!R1C["&INT((ROW()-2)/20)+1&"]",FALSE)
B列(B2~B941)の式
=INDIRECT("Sheet1!R["&INT((ROW()-2)/20)*(-20)&"]C1",FALSE)
C列(C2~C941)の式
=INDIRECT("Sheet1!R["&INT((ROW()-2)/20)*(-20)&"]C["&INT((ROW()-2)/20)-1&"]",FALSE)

Qエクセルで複数列に並んでいるものを1列で表すには?

エクセルで例えば
NO、店、商品・・・
1「Aスーパ」「リンゴ」「バナナ」「ミカン」
2「Bコンビニ」「ナシ」「モモ」
3「C百貨店」「クリ」「ブドウ」
のように各セルに文字列が入っているものを
下記のように、「店」と「商品」がそれぞれ対応するように
一列に並べるにはどのようにしたらよいでしょうか?
1「Aスーパ」「リンゴ」
2「Aスーパ」「バナナ」
・・・
8「C百貨店」「ブドウ」

条件としては、
一つの行に店は1つだけ
ただし、商品の数はばらばら
です。

Aベストアンサー

◆Sheet2の式
A1=IF(ROW(A1)>COUNTA(Sheet1!$B$1:$F$3),"",INDEX(Sheet1!A:F,SMALL(INDEX(SUBSTITUTE((Sheet1!$B$1:$F$3<>"")*1,0,10^3)*ROW($B$1:$F$3),),ROW(A1)),1))
★下にコピー

B1=IF(ROW(A1)>COUNTA(Sheet1!$B$1:$F$3),"",INDEX(Sheet1!B:F,SMALL(INDEX(SUBSTITUTE((Sheet1!$B$1:$F$3<>"")*1,0,10^3)*ROW($B$1:$F$3),),ROW(A1)),COUNTIF($A$1:A1,A1)))
★下にコピー

QA列(10行)とB列(10行)の全ての組み合わせをC列にリストアップしたい。

何度もすみません。
前回の質問で文字列の組み合わせの方法は理解いたしました!
本当にありがとうございます。

追加で質問になるのですが、タイトルにあるように(※数字は仮です)

A列(10行)とB列(10行)の全ての組み合わせをC列にすべて(100行?)リストアップしたいと考えています。

また並び方は
A1
A2
A3



B1
B2



というようにしたいです。
このようにするには

C列にどのような関数を入れればいいのでしょうか?
どうかよろしくお願いいたします。

Aベストアンサー

#3,#4です
C1セルに
=IF(COUNTA(A:A)*COUNTA(B:B)<ROW(),"",
INDEX(A:A,(ROW()-1)/COUNTA(B:B)+1)&" "
&INDEX(B:B,MOD(ROW()-1,COUNTA(B:B))+1))
で良かったです。余計なものを足してました。
添付図、薄い緑は手入力です。水色には数式が入っています
D、E列のような数値が求められれば、(INDEX関数を使って)結果が出せるのはわかるでしょうか?

以下、その数値を求める方法です。
素材として連番があります。

F列は、行番号です。F1セルに =ROW()

G列は、連番をB列の個数で割ったものです。
求めたい値を出すために (連番-1)/B列の個数 +1 としています
G1 =(F1-1)/COUNTA(B:B)+1
=INT((F1-1)/COUNTA(B:B)+1)とすれば求めたい値になります。

H列は連番をB列の個数で割った余りです。
求めたい値を出すために((連番-1)/B列の個数)のあまり +1 としています
F1 =MOD(F1-1,COUNTA(B:B))+1

I1セル =INDEX(A:A,G1)
J1セル =INDEX(B:B,H1)
としてA列、B列の値を引っ張ってきます。
ここでINDEXの第2引数ですが、小数になっている場合切り捨てられて計算されるので、INTを追加しなくても良いです。
わかりにくくなる可能性を加味してINTを加えても良いでしょう。

ある程度の説明はしたつもりですが、それでもわからない点があれば再度質問してください

#3,#4です
C1セルに
=IF(COUNTA(A:A)*COUNTA(B:B)<ROW(),"",
INDEX(A:A,(ROW()-1)/COUNTA(B:B)+1)&" "
&INDEX(B:B,MOD(ROW()-1,COUNTA(B:B))+1))
で良かったです。余計なものを足してました。
添付図、薄い緑は手入力です。水色には数式が入っています
D、E列のような数値が求められれば、(INDEX関数を使って)結果が出せるのはわかるでしょうか?

以下、その数値を求める方法です。
素材として連番があります。

F列は、行番号です。F1セルに =ROW()

G列は、連番をB列の個数で割ったものです。
...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報