マンガでよめる痔のこと・薬のこと

エクセルの並べ変えで困っております。
よろしくお願いします。

2つのエクセルデータがあります。
2つのエクセルデータの内容は違うのですが、2つのデータでの共通点は、
(1)1行ごとに入力管理している。
(2)「A列」だけには共通の同じ「基本番号」が入力してある。

片方のエクセルの基準番号通りの配置で、もう片方のデータの行を並べ
変えるにはどうしたらよいのでしょうか?

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

A 回答 (3件)

> (2)「A列」だけには共通の同じ「基本番号」が入力してある。



という条件の下では、

・作業用に、両方のエクセルファイルに、B列を挿入。
・「片方」のB列に、上から連番を振る。
・両方とも、A列を基準にソートをする。
・「片方」のB列をコピーして、「もう片方」のB列に貼り付ける。
・両方とも、B列を基準にソートをする。
・両方とも、B列を削除する。

これて、「もう片方」が「片方」と同じ並び順になるはず。

検証してないので、不具合があるかもしれません。
    • good
    • 3
この回答へのお礼

ご回答ありがとうございます。
すみません。説明不足でした。
追加の情報を「No.1」の方のお礼に記載しました。

片方のデータの行の並びは変えずに固定してもう片方のデータ
の行の並びを変えて両データとも同じ配列にしたいのです。

ちなみに行を固定したいデータの「基本番号(固有番号)」は
上から番号順になっていない状態です。

教えて頂いた方法を試しているのですが固定したいデータも
行の配列が変わりますよね…

お礼日時:2009/05/09 14:00

nattocurryさん横から失礼します


>行の配列が変わりますよね…
いいえ、変わりません
よく読んでください

>・作業用に、両方のエクセルファイルに、B列を挿入。
ファイルA ファイルB
A B C   A B C
10      7
6      3
4      9
9      5
3      4
8      1
2      2
5      10
7      6
1      8

>・「片方」のB列に、上から連番を振る。
ファイルA ファイルB
A B C   A B C
10 1     7
6 2     3
4 3     9
9 4     5
3 5     4
8 6     1
2 7     2
5 8     10
7 9     6
1 10    8

>・両方とも、A列を基準にソートをする。
A B C   A B C
1 10    1
2 7     2
3 5     3
4 3     4
5 8     5
6 2     6
7 9     7
8 6     8
9 4     9
10 1     10

>・「片方」のB列をコピーして、「もう片方」のB列に貼り付ける。
A B C   A B C
1 10    1 10
2 7     2 7
3 5     3 5
4 3     4 3
5 8     5 8
6 2     6 2
7 9     7 9
8 6     8 6
9 4     9 4
10 1     10 1

>・両方とも、B列を基準にソートをする。
A B C   A B C
10 1     10 1
6 2     6 2
4 3     4 3
9 4     9 4
3 5     3 5
8 6     8 6
2 7     2 7
5 8     5 8
7 9     7 9
1 10     1 10

>・両方とも、B列を削除する。
A B C   A B C
10      10
6      6 
4      4 
9      9 
3      3 
8      8 
2      2 
5      5 
7      7 
1       1
>これて、「もう片方」が「片方」と同じ並び順になるはず。
    • good
    • 5
この回答へのお礼

すばらしい!!
配列変更できました。

ご回答ありがとうございます。
もっと説明文をよく読むようにします。
hige_082様 詳しいご説明ありがとうございます。
大変助かりしました。
ありがとうございました。

お礼日時:2009/05/09 16:08

もう少し具体的な記述があったほうがよいと思います。



2つのデータは別シートですね?

だとすれば Vlookup関数ではだめですか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
また言葉足らずで申し訳ありません。

ご指摘の通り2つのデータは別ファイルです。
あとこのデータは名簿なのですが、
両ファイルのA列には個人を特定する固有番号があります。
B列に名前の記載があります。
他の列には色んな情報が。

両ファイルとも名前と固有番号は一致しているのですが、
両ファイルの行の順番がバラバラです。
そこで片方のデータの行の並びを基準にしてもう片方の
データの行の並びを変えて同じ配列にしたいのです。

あと「Vlookup関数」というのはどうすればよいのでしょうか?
関数に関しては全くの素人です。
申し訳ありません。

お礼日時:2009/05/09 13:52

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

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

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

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

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

QExcelで隣のセルと同じ内容に列を並べ替える方法

質問の意味がわかりにくくて申し訳ございません。

ただいま600人分の名簿を並べ替える作業をしておりまして、
毎年の作業で、いつもおっくうになっております。

毎年同じ600人分の名簿をいくつかのグループに分けるために列を新たに挿入し、
そこに1や2や3といった数字を打ち込み、並べ替え機能をつかって、
グループ分けをしておりました。

しかし、すでに氏名(漢字)のデータですが並べ替えたデータがあり、
そのデータと同じように、旧データを並べ替えたいのです。

うまく質問の意図が伝えることができずすみません。

例えば、

A|E *****
B|C *****
C|D *****
D|A *****
E|B *****

このような感じです。*はそれぞれの人特有のデータなので、ABCDE順に並べ替えても引き継がせたいデータです。

ECDABの隣にすでにあるABCDEの氏名(漢字)のデータをコピーし、
ECDABをABCDEの順番に並べ替えたいのです。


少しわかりにくいかもしれませんが、
もし何か良い方法ありましたら、お教えいただけますと幸いです。
よろしくお願い致します。

質問の意味がわかりにくくて申し訳ございません。

ただいま600人分の名簿を並べ替える作業をしておりまして、
毎年の作業で、いつもおっくうになっております。

毎年同じ600人分の名簿をいくつかのグループに分けるために列を新たに挿入し、
そこに1や2や3といった数字を打ち込み、並べ替え機能をつかって、
グループ分けをしておりました。

しかし、すでに氏名(漢字)のデータですが並べ替えたデータがあり、
そのデータと同じように、旧データを並べ替えたいのです。

うまく質問の意図が伝えることができずす...続きを読む

Aベストアンサー

例えばシート1のA2セルから下方にはECDABと氏名が並び横の列にはそれぞれの人のデータが入力されているとします。
そこでシート2には並び変えたい氏名の順序でA2セルから下方にABCEと入力します。
シート2のB2セルには次の式を入力して右横方向にドラッグコピーしたのちに下方にもドラッグコピーします。

=IF(COUNTIF(Sheet1!$A:$A,$A2),IF(VLOOKUP($A2,Sheet1!$A:$XX,COLUMN(B1),FALSE)="","",VLOOKUP($A2,Sheet1!$A:$XX,COLUMN(B1),FALSE)),"")

その後にシート2全体を選択してから右クリックして「コピー」し、その後にシート2のA1セルにカーソルを移して右クリックし、「形式を選択して貼り付け」で「値」にチェックをして貼り付けます。

Qエクセルで異なる列のデータを一致させて並び替え

A列とB列にまったく同じ商品ID(アルファベット)が記入されています。

しかし、A列とB列の商品IDは順番がバラバラです。

このA列とB列の商品IDを「一致させて並び替える」ことは可能でしょうか?

教えてください。

Aベストアンサー

こんばんは!
簡単な方法はすでにNo.2・3さんが答えていらっしゃいますが、
他の方法の一例です。

↓の画像で説明させていただくと

2号店の方が商品数が多いみたいなので
2号店の表に作業用の列を設けます。

作業列のH3セルに
=IF(OR(E3="",COUNTIF($A$3:$A$5000,E3)),"",ROW(A1))
としてずぃ~~~!っとオートフィルで下へコピーします。
(数式が5000行まで対応できるようにしていますので、そのくらいまでコピーしても構いません)

次にJ3セルに
=IF(COUNTA($A$3:$A$5000)>=ROW(A1),A3,IF(COUNTA($A$3:$A$5000,COUNT($H$3:$H$5000))>=ROW(A1),INDEX($E$3:$E$5000,SMALL($H$3:$H$5000,ROW(A1)-COUNTA($A$3:$A$5000))),""))

K3セルに
=IF(J3="","",IF(COUNTA($A$3:$A$5000)>=ROW(A1),B3,INDEX($F$3:$F$5000,SMALL($H$3:$H$5000,ROW(A1)-COUNTA($A$3:$A$5000)))))

L3セルに
=IF(J3="","",SUMIF($A$3:$A$5000,J3,$C$3:$C$5000)+SUMIF($E$3:$E$5000,J3,$G$3:$G$5000))
という数式を入れ、J3~L3セルを範囲指定し、L3セルのフィルハンドルで
下へコピーすると画像のような感じになります。

そして、1号店・2号店の元データを並び替えすれば集計した表に反映されると思います。

その上で尚並び替えをしたい場合は
J~L列を範囲指定し、形式を選択して貼り付け「値」にチェックを入れ
他の列へ貼り付け後、並び替えを行えば希望に近い形になると思います。

以上、長々と書き込んでごめんなさね。

かなり手間がかかる方法ですが、参考になれば幸いです。
尚、他に良い方法があれば
読み流してくださいね。m(__)m

こんばんは!
簡単な方法はすでにNo.2・3さんが答えていらっしゃいますが、
他の方法の一例です。

↓の画像で説明させていただくと

2号店の方が商品数が多いみたいなので
2号店の表に作業用の列を設けます。

作業列のH3セルに
=IF(OR(E3="",COUNTIF($A$3:$A$5000,E3)),"",ROW(A1))
としてずぃ~~~!っとオートフィルで下へコピーします。
(数式が5000行まで対応できるようにしていますので、そのくらいまでコピーしても構いません)

次にJ3セルに
=IF(COUNTA($A$3:$A$5000)>=ROW(A1),A3,IF(C...続きを読む

Qエクセルで2つのデータを照合したい

会社のPCなのでソフトをダウンロードしたりすることができません。できるだけシンプルで簡単なやり方があれば教えてください。

会員番号と個人名が入ったエクセルファイルが2つあります。
<ファイル1(先輩が担当している顧客)>
101 青木さやか
104 友近
105 山田花子
106 中川翔子
125 真鍋かをり
132 ジャガー横田
144 ともさかりえ
155 小西真奈美
164 篠原涼子
177 山口智子
189 稲森いずみ
211 蒼井優

<ファイル2(私が担当する顧客)>
102 蛯原友里
104 友近
135 山田優
141 押切もえ
144 ともさかりえ
167 堀北真希

<ファイル1>と<ファイル2>には共通して104 友近と144ともさかりえがいるのですが、瞬時にわかるようにするにはどうすればいいでしょうか?

Aベストアンサー

Vlookup関数をファイル1か2のどちらかのC列に入れて同じ値があるかどうかを確認する。
あれば数字が返ってくるし、なければエラー値になるのでそれで判別。

例えばファイル1のC列に1行目に以下を入れてオートフィルターでコピーする
=VLOOKUP(A1,[ファイル2.xls]Sheet1!$A$1:$A$100,1,FALSE)
ファイル名とシート名や範囲は状況に合わせて。

Q2つのシート間での重複データのチェック

Excelについて教えてください。
以下の2つのシートがあります。

Sheet1
すずき 03-0000-0000
やまだ 03-1111-1111
たなか 03-2222-2222

Sheet2
03-1111-1111
03-4444-4444
03-0000-0000
03-2222-2222

Sheet1には名称と電話番号、Sheet2には別所から抽出した電話番号のみのデータがあります。
Sheet1のデータの中からSheet2に電話番号があるものだけを知りたいのですが、たとえばSheet1の 各行のC列 に Sheet2に一致する番号があった場合は●等付けるにはどうすればよいでしょうか。

よろしくお願いします

Aベストアンサー

シート1のC列に式を入れます。
=IF(ISNA(VLOOKUP(B1,Sheet2!A:A,1,FALSE))=TRUE,"-","●")

【式の説明】
シート1のセルB1の値が、シート2のA列に、存在する場合は●を、存在しない場合は-をセット。

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。

QExcelで[表1]にあって、[表2]にないものを抽出する関数

Excelで[表1]にあって、[表2]にないものを抽出する関数

例)[表1]   [表2]
   A社     A社
   D社     D社
   R社     P社
   P社     R社
   D社
   F社
   F社

上記は簡単に書きましたが、表1に重複するものも含め、300社程度あるなかで
表2にリストアップされていない会社を見つける関数やその他方法論があれば
ぜひ教えてください!
(例でいえば、F社を見つける方法です。)

抽出するのは別シートでも、同じシートでも構いません。

Excel2003でも対応できるものであれば、なお嬉しいです。

よろしくお願いします。

Aベストアンサー

Countif関数で同じものがいくつあるか数えさせます。
   A   B        C
  [表1]表2にある数   [表2]
   A社          A社
   D社          D社
   R社          P社
   P社          R社
   D社
   F社
   F社
だとして
B列に =Countif(C:C,A2)
と入れて下までコピィすれば 表2に同じものがいくつあるか出ますので
0 がないものです。

Qエクセル 同じ値を探して隣の数値をコピーする

エクセルで以下の作業を簡単にする方法を教えて下さい。

Sheet1の1行目には見出しがあり、A列とB列の2行目から下にデータが入っています。(約200行)
A列     B列
田中    13
山本     8
谷口    11
鈴木    6
佐々木    9
奥村     15




Sheet2のA列1行目から下には別のデータが入っています。(約600行)
A列
太田川
山村
田中
多賀先
鈴木
奥村
幸田




Sheet2のA列のデータと完全一致するデータ(名前)をSheet1のA列から探して、同じ名前があれば、その隣のB列にある数値をSheet2のB列に貼り付ける。
見つからない場合はSheet2のB列は空欄のままです。
Sheet2
A列      B列
太田川     
山村
田中    13
多賀先
鈴木     6
奥村    15
幸田


Aベストアンサー

シート2のB2セルには次の式を入力して下方にドラッグコピーします。

=IF(COUNTIF(Sheet1!A:A,A2)=0,"",VLOOKUP(A2,Sheet1!A:B,2,FALSE))

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行までとしていますが、必要に応じて変更して下さい

Qエクセル 2つの表の並べ替え

2つのエクセルデータの並べ替えの方法がわかりません。
下の様なエクセルデータがあります。

A列 B列 C列 D列 E列 F列
1  A社 100 1  B社 100
2  B社 99  2  C社 99
3  C社 98  3  A社 98
4  D社 97  4  E社 97
5  E社 96  5  D社 96

データとしてはA列~C列、D列~F列がそれぞれのデータです。
B列の会社順にD列~F列を並べ替えることは可能でしょうか?
(下の表の様に並べ替えたいのですが・・・)

A列 B列 C列 D列 E列 F列
1  A社 100 3  A社 98
2  B社 99  1  B社 100
3  C社 98   2  C社 99
4  D社 97  5  D社 96
5  E社 96  4  E社 97

よろしくお願いします。

Aベストアンサー

こんばんは!

D~F列をB列(社名)順に並び替えしたい!というコトですよね?
コツコツ手を動かせば簡単に出来る方法として・・・

↓の画像ではG1セルに
=IF(COUNTIF($E:$E,$B1),INDEX(D:D,MATCH($B1,$E:$E,0)),"")
という数式を入れフィルハンドルでI1セルまでコピー → そのまま下へフィル&コピーしています。

そしてG~I列すべてを範囲指定 → 右クリック → コピー → D1セルを選択
→ 右クリック → 「形式を選択して貼り付け」 → 「値」を選択しOK
最後にG~I列を削除して完了です。

※ この一連の操作をVBAでやると↓のようなコードでも大丈夫だと思います。
シートモジュールです。

Sub Sample1() '//この行から
Dim lastRow As Long
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range("G:I").Insert
With Range(Cells(1, "G"), Cells(lastRow, "I"))
.Formula = "=IF(COUNTIF($E:$E,$B1),INDEX(D:D,MATCH($B1,$E:$E,False)),"""")"
.Value = .Value
.Cut Range("D1")
End With
Range("G:I").Delete
End Sub '//この行まで

こんな感じではどうでしょうか?m(_ _)m

こんばんは!

D~F列をB列(社名)順に並び替えしたい!というコトですよね?
コツコツ手を動かせば簡単に出来る方法として・・・

↓の画像ではG1セルに
=IF(COUNTIF($E:$E,$B1),INDEX(D:D,MATCH($B1,$E:$E,0)),"")
という数式を入れフィルハンドルでI1セルまでコピー → そのまま下へフィル&コピーしています。

そしてG~I列すべてを範囲指定 → 右クリック → コピー → D1セルを選択
→ 右クリック → 「形式を選択して貼り付け」 → 「値」を選択しOK
最後にG~I列を削除して完了です。
...続きを読む

Qエクセル【A列とB列の不一致を知りたいです】

初めまして。
お忙しい中、大変申し訳ございませんが、下記に関して、ご指導のほど、宜しくお願い致します。

***************
【例】
A列    B列

あめ    チョコ
ガム    ポテトチップス
チョコ   あめ
       ガム


という列があり、A列はA1000まで続き、B列はB3000まで続きます。
必ずしも、A列の横に同じお菓子名があるわけではありません。

そこで、A列とB列を比較し、B列にしかないもの(上記「例」ではポテトチップス)のセルに色づけ、もしくはC列に、不一致するものだけ「NG」等が記載される数式を教えてください。

お忙しい中、大変申し訳ございませんが、
何卒宜しくお願い申し上げます。

Aベストアンサー

条件付書式で、B列のセルに
「数式が」
=ISERROR(VLOOKUP(B1,A:A,1,FALSE))
で書式を設定し下にコピーすると、無いものだけが書式変更されます。

同じように、B列の隣のC列に
=IF(ISERROR(VLOOKUP(B1,A:A,1,FALSE)),"NG","")
として下にコピーしても隣にNGと表示できます。


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

人気Q&Aランキング