• 締切済み

エクセルで並べ替えて比較をしたいのですが。

 エクセルで並べ替えて比較をしたいのですが。 現在データの集計を行っているのですが、データ(仮に都道府県名としておきます)比較をするに際して シート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

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

関数で (データ)Sheet1のA列に a q v b d c Sheet2のA,B列に a xa b by d dz c cv (関数式) 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は a a xa q v b b by d d dz c c cv になります。 MATCH関数は、A1から何行目に、探している文字列があるか示してくれます。OFFSETはA1を起点にしてズレ行数を指定しますので、-1します。B列とC列の式の違いは、列のズレを指定する最後の部分の0と1です。 Shet11、Sheet2ともA列は内容が、ユニーク(重複出現なし)か、存在行が固まって存在しないとうまく行かないかも。

回答No.1

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

bookmark
質問者

補足

回答ありがとうございます 初心者なもので簡単な質問で申し訳ありませんが 補足質問: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 このまま実行するとコンピューターがフリーズしたのでおかしなところがあれば教えてください。

関連するQ&A

  • エクセルで住所録の都道府県を件数にしたいのですが、

    エクセルで住所録の都道府県を件数にしたいのですが、 例えば、東北6県を例にしますと、シート1の住所録が下記ようになっているとします。 青森 秋田 山形 山形 宮城 宮城 宮城 宮城 福島 福島 福島 以上のような住所録から、下記のように件数としてシート2へ表示したいと考えています。 青森 1 岩手 0 秋田 1 山形 2 宮城 4 福島 3 どうかよろしくお願いいたします。

  • エクセルの関数(SUMPRODUCT?)

    ご存知の方がいらっしゃいましたら教えていただけたら幸いです。  A列 B列  C列  D列… 1 ID 部名 課名 都道府県… 2 1  A   a   北海道 3 2  A   c   大阪 4 3  A   b   東京 5 4  A   a   東京 6 5  A   a   福島 [シート名:入力]   A列  B列  C列 D列  E列… 1 地域   a   b  c   合計(←上記シート「入力」の課名) 2 北海道 2(Q2) 0  0   2(Q3)   東北 3 東京  1(Q1) 1  0   2 4 関西  0    0  1   1 [シート名:合計] (Q1)=SUMPRODUCT((入力!$C$2:$C$6="a")*(入力!$D$2:$D$6="東京")) で、地名を1つにしている場合は問題なく反映されています。 (Q2)★ここが一番聞きたいところです★ =SUMPRODUCT((入力!$C$2:$C$6="a")*(入力!$D$2:$D$6="北海道")*(入力!$D$2:$D$6="青森")*(入力!$D$2:$D$6="岩手")*(入力!$D$2:$D$6="宮城")*(入力!$D$2:$D$6="秋田")*(入力!$D$2:$D$6="山形")*(入力!$D$2:$D$6="福島")) で、エラーがでてしまいます。(イヤミではないんですが…)東京など大きなところでは(1)の処理でよいのですが、例えばここだと北海道や青森、秋田…とあまりその都道府県だけでは数の少ないところは「地域」として「北海道・東北」とまとめたく、上の式では、 「aの課で、且つ北海道か、青森か、岩手か、宮城か、秋田か、山形か、福島であればカウントする」としたいのです。 ちなみに(2)の式を入力すると、エラーは出ないのですが該当するものがあるにも関わらずゼロ(2ではなく0)と表示されてしまいます。 (Q3)よって、本当であればここの関数も 「aの部で、且つaの課で、且つ北海道か、青森か、岩手か、宮城か、秋田か、山形か、福島であればカウントする」としたいところ、(2)でつまずいてしまっているため、E2のセルの表示「2」はそのシートのB2-D2のSUM関数で合計を出しているという状況です。 (3)は以上のような対処で問題はないかと思いますが、(2)の部分はどうしても表示されません。 前任者のデータを引き継ぐ形となり、去年とは少し違う形式になるに伴い出てきた問題です。できれば去年のものをできるだけ引き継ぎたいと考えているのですが…何か良い方法があれば教えて頂ければ幸いです。

  • PHP&Mysqlでデータを横3列で表示したい

    表題の通り、PHP +Mysqlをつかって データを横✕3のテーブルを作成したいのです。 データベースに収めたデータを横に3つ表示して、4つ目のデータは下の行に移行してそこからまた横に3つ。これが延々と繰り返すことのできるコードを記述したいです。 まだ勉強し始めでどうしたら良いのかわかりません。どなたがご存知のかたよろしくお願いします。 データベース ID|NAME 1 | 北海道 2 | 青森 3 | 秋田 4 | 岩手 5 | 山形 6 | 宮城 7 | 福島 8 | 茨城 表示イメージ -------------------- ... 1...........|.... 2.......|..... 3..........| 北海道...|..青森..|....秋田.....| ------.|------|-------.| ....4..........|.... 5........|....... 6 .......| ..岩手....|...山形...|......宮城..| ------.|------|-------.| .....7........|.... 8.........| ..福島.....|. 茨城..| -------------

    • ベストアンサー
    • PHP
  • エクセルの「countif」について、カウントする文字を列で参照する方法

    例えば、 A列 B列 C列 福島 青森 千葉 秋田 石川 山形 青森 岩手 東京 宮城 青森 福島 : :   のように、A列には件名がランダムで、B列にはカウントする県名が順に入っているとします。 C列にカウントした数を表示するのに、 =countif($A$1:$A$50,"青森") と順にC1から入れていきたいのですが、47都道府県あるので、いちいち青森、秋田と入れるのは面倒なので、B列をifの条件に参照する形にしたいのですが、いい方法ありませんか? それとも何か他にいい方法があるのでしょうか

  • 読点の打ち方

    (1)私は北海道、青森、岩手、秋田、宮城に行ったことがある。 (2)私は北海道と、青森、岩手、秋田、宮城に行ったことがある。 (3)私は北海道と、青森と、岩手と、秋田と、宮城に行ったことがある。 (4)私は、北海道、青森、岩手、秋田、宮城に行ったことがある。 (5)私は、北海道と、青森、岩手、秋田、宮城に行ったことがある。 (6)私は、北海道と、青森と、岩手と、秋田と、宮城に行ったことがある。 (7)私は、北海道、青森、岩手、秋田、宮城に、行ったことがある。 (8)私は、北海道と、青森、岩手、秋田、宮城に、行ったことがある。 (9)私は、北海道と、青森と、岩手と、秋田と、宮城に、行ったことがある。 (10)私は北海道、青森、岩手、秋田、宮城に、行ったことがある。 (11)私は北海道と、青森、岩手、秋田、宮城に、行ったことがある。 (12)私は北海道と、青森と、岩手と、秋田と、宮城に、行ったことがある。 読点の付け方はどれが正しいですか? 都道府県の部分は「、」ではなく「・」の方がいいでしょうか? 「青森、岩手、秋田、宮城」ではなく「青森・岩手・秋田・宮城」の方がいいでしょうか?

  • エクセルのfind関数で、複数の条件

    エクセルで、住所に"北海道"が含まれていると、"北海道"と表示し、 "青森県"や"岩手県"などが含まれていると、"東北"と表示したいです。 以下の関数を作ったのですが、北海道のときは想定どおり"北海道"と表示されますが、 それ以外のときは#VALUE!になってしまいます。 どこが悪いでしょうか? =if(find("北海道",A1)>0,"北海道",if(find("青森県",A1)>0,"東北",if(find("岩手県",A1)>0,"東北",if(find("宮城県",A1)>0,"東北",if(find("秋田県",A1)>0,"東北",if(find("山形県",A1)>0,"東北",if(find("福島県",A1)>0,"東北","該当なし")))))))

  • エクセルである表を作成したいのですが、、、

    エクセルで、  例えば、A1に  「関東」 と入力すると、B1からB7までに茨城、栃木、群馬、千葉、埼玉、東京、神奈川」と自動的に表示され、 同じようにA1に  「東北」と入力すると、B1からB6に青森、秋田、岩手、宮城、山形、福島と、表示される方法はないでしょうか。

  • 北海道・東北・信越・北陸、各県の、すぐ思いつくものは何ですか?

    北海道・東北(青森・秋田・岩手・山形・宮城・福島)信越・北陸(新潟・富山・石川・福井・長野) と聞いたら、すぐ思いつくものは何ですか?教えて下さい。 ※各県、沢山、思いつく方もいると思いますが、多くても4・5個程度でお願いします。思いついた順が一番いいです。 北海道:  青森:  秋田:  岩手:  山形:  宮城:  福島:  新潟:  富山:  石川:  福井:  長野: ※西日本・東日本どちらに住んでるか、もしよかったら教えて下さい。 では、質問者は 北海道:五稜郭・ラーメン・流氷・雪祭りなど沢山(笑)  青森:ねぶた祭り・りんご  秋田:秋田美人・秋田小町(米)  岩手:何も思いつきません。。。  山形:何も思いつきません。。。  宮城:伊達政宗・七夕祭り?(名称?)  福島:会津若松。白虎隊。大きい漁港があったような??  新潟:米・豪雪地帯・紙の会社  富山:薬売り・イカ(多分)  石川:うるし・空港作った。  福井:原発  長野:山・オリンピック・ダム・ワイン? ちなみに質問者は西日本。 ※何も思いつきません。。。の該当県の方、誠に申し訳ありません。  すみません。許して下さい。  他県の方でも、お怒りの方、すみません。 皆さんのすぐ思いつくものは何ですか?教えて下さい。 宜しくお願いします。

  • 東北で1番の田舎は?

    東北出身者です。 長年気になっていたことなのですが、 東北6県(青森、岩手、秋田、山形、宮城、福島)の中で、1番田舎だと思う県は何県ですか? イメージでもいいです。 よろしくお願いします。  

  • セルをツリー式にたたむ方法

    A列に大分類名を入れ、B列に小項目を入れたシートで、必要のないB列の項目をたたんでおく事は出来るでしょうか。 例えば・・。  A列  B列 北海道 渡島 東北  青森 関東  東京 北陸  新潟  ・  ・  ・  ・ と閉じていて、クリックなどで例えば東北だけB列を開く  A列  B列 北海道 渡島 東北  青森      秋田      岩手      宮城      福島      山形 関東  東京 北陸  新潟  ・  ・ という感じです。 以前なにかで見た気がするんですが。

専門家に質問してみよう