【最大10000ポイント】当たる!!質問投稿キャンペーン!

 エクセルで並べ替えて比較をしたいのですが。
現在データの集計を行っているのですが、データ(仮に都道府県名としておきます)比較をするに際して
シートAにあるデータとシートBにあるデータが必ずしも全て一致するわけではなく、
シートAは47都道府県全てのデータがあり
シートBには所々データが抜けていて順番もAとは全然異なる配列で並んでいます。
この際にシートBのデータをシートAのデータの順番に並び替え一つのシートにし、データの分析を行いたいのですが、シートBの並べ替え方がわかりません。是非教えてください。よろしくお願いします。

変更前
シートAシートB
県名|顧客数 県 名|a|b|c
北海道|156 秋田県|1|5|4
青森県|283 | | |
岩手県|384 岩手県|2|6|4
宮城県|294 福島県|4|6|4
秋田県|148 | | |
山形県|54   青森県|3|5|1
福島県|213  宮城県|1|2|2

変更後
シートAシートB
県名|顧客数  県 名|a|b|c
北海道|156
青森県|283  青森県|3|5|1
岩手県|384  岩手県|2|6|4
宮城県|294  宮城県|1|2|2
秋田県|148  秋田県|1|5|4
山形県|54
福島県|213  福島県|4|6|4

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

A 回答 (2件)

関数で


(データ)Sheet1のA列に
a
q
v
b
d
c
Sheet2のA,B列に
axa
bby
ddz
ccv

(関数式)
Sheet1のB列B1に
=IF(ISERROR(OFFSET(Sheet2!$A$1,MATCH(A1,Sheet2!$A$1:$A$4,0)-1,0)),"",OFFSET(Sheet2!$A$1,MATCH(A1,Sheet2!$A$1:$A$4,0)-1,0))
B6までB1を複写。
Sheet1のC1に
=IF(ISERROR(OFFSET(Sheet2!$A$1,MATCH(B1,Sheet2!$A$1:$A$4,0)-1,0)),"",OFFSET(Sheet2!$A$1,MATCH(B1,Sheet2!$A$1:$A$4,0)-1,1))
C1をC6まで複写。
(結果)Sheet1のA1:C6は
aaxa
q
v
bbby
dddz
cccv
になります。
MATCH関数は、A1から何行目に、探している文字列があるか示してくれます。OFFSETはA1を起点にしてズレ行数を指定しますので、-1します。B列とC列の式の違いは、列のズレを指定する最後の部分の0と1です。
Shet11、Sheet2ともA列は内容が、ユニーク(重複出現なし)か、存在行が固まって存在しないとうまく行かないかも。
    • good
    • 0

Sub Test()'質問どおりなら…


Dim m, n, a, b, c As Integer
Sheet3.Cells.Delete
For c = 0 To 3
Sheet3.Cells(1, 3 + c) = Sheet2.Cells(1, 1 + c) 'タイトル取得
Next c
For m = 1 To 48 '件数入力Sheet1
For n = 1 To 48 '件数入力Sheet2
For a = 1 To 2 '横幅Sheet1
Sheet3.Cells(m, a) = Sheet1.Cells(m, a)
Next a
If Sheet1.Cells(m, 1) = Sheet2.Cells(n, 1) Then '県名が同じならという条件
For b = 1 To 4 '横幅Sheet2
Sheet3.Cells(m, b + 2) = Sheet2.Cells(n, b) 'Sheet1の真横に表示
Next b
End If
Next n
Next m
End Sub

この回答への補足

回答ありがとうございます
初心者なもので簡単な質問で申し訳ありませんが
補足質問:1
4行目の
For c = 0 To 3
は何を意味するのですか?

補足質問:2
実際はデーターの総数(縦軸)が3560あり
シートAの横軸が25
シートBの横軸が356あります。
この場合は
For m = 1 To 48 '件数入力Sheet1
For n = 1 To 48 '件数入力Sheet2
For a = 1 To 2 '横幅Sheet1
For b = 1 To 4 '横幅Sheet2
の数値を下記に変更すればよろしいのでしょうか
For m = 1 To 3560 '件数入力Sheet1
For n = 1 To 3560 '件数入力Sheet2
For a = 1 To 25 '横幅Sheet1
For b = 1 To 356 '横幅Sheet2

このまま実行するとコンピューターがフリーズしたのでおかしなところがあれば教えてください。

補足日時:2004/01/10 11:06
    • good
    • 0

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


人気Q&Aランキング