出産前後の痔にはご注意!

エクセルで
A   B   C     A    B   C
山田 鈴木  小林    山田  山田 
鈴木 長谷川 藤田    鈴木  鈴木  鈴木
佐藤 山本  鈴木    佐藤  佐藤 
田中 佐藤  田中  → 田中  田中  田中
小林 山田  山本    小林      小林
藤田           藤田      藤田
長谷川          長谷川 長谷川
山本           山本  山本  山本

というように並び替えたいんですが、どうすればいいですか?
あまり関数は詳しくないんですが、教えてください。

A 回答 (2件)

こんにちは!



別列表示で良いのでしょうか?

仮にB・C列をD・E列に表示する場合は
D1セルに
=IF(COUNTIF(B:B,$A1),$A1,"")

という数式を入れ隣りのE1セルまでフィル&コピー → そのまま下へフィル&コピー!

こんな感じではどうでしょうか?

※ そのままB・C列に表示したい場合は関数では無理なのでVBAになります。
一例です。

Sub Sample1()
Dim i As Long, j As Long
Dim myStr As String

For j = 2 To 3
For i = 1 To Cells(Rows.Count, j).End(xlUp).Row
myStr = myStr & Cells(i, j) & ","
Next i
Columns(j).ClearContents
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If InStr(myStr, Cells(i, "A")) > 0 Then
Cells(i, j) = Cells(i, "A")
End If
Next i
myStr = ""
Next j
End Sub

※ 関数・VBAどちらにしてもA列にないデータがB・C列にあっても
表示されません。m(_ _)m
    • good
    • 1
この回答へのお礼

出来ました!!
なんか感動です!
手作業でやってたら時間もかかるし、絶対にミスが出ると思っていたので
本当に助かりました。
VBAのほうもぜひ参考にさせて頂きます!
ありがとうございましたm(_ _)m

お礼日時:2018/05/17 10:45

並べ替えにルールはありますか?


「山田」が先頭で「山本」が最後尾なのは何故でしょう?

並べ替えの順番表があるとか?
元の表のA列が基本?
    • good
    • 0
この回答へのお礼

A列が基本です。
よろしくお願いします。

お礼日時:2018/05/16 11:08

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

この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セルにカーソルを移して右クリックし、「形式を選択して貼り付け」で「値」にチェックをして貼り付けます。

Q2つのエクセルのデータを同じように並べ替えたい

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

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

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

Aベストアンサー

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

という条件の下では、

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

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

検証してないので、不具合があるかもしれません。

QEXCEL並び替え同じ文字の入ったセルを並べて表示する方法。関数。

お世話になります。
00101 00105
00104 00103
00103 00104

となっているものを
00101
00103 00103
00104 00104
00105
と同じ数字が横に表示されて同じ数字がないものは片方だけ表示される(上記のような状態)にする方法を教えてください。
関数を使うのであれば式を教えてくださいませ。
00101を縦横一列目としていただければわかりやすいです。

Aベストアンサー

こんばんは!
外していたらごめんなさい。
B列にA列と同じ数値が複数ある場合も列方向に複数表示するようにしてみました。

↓の画像のように作業用の列を2列使わせてもらっています。

作業列C2セルに
=IF(COUNT($A$2:$B$100)<ROW(A1),"",SMALL($A$2:$B$100,ROW(A1)))
D2セルに
=IF(OR(C2="",COUNTIF($C$2:C2,C2)<>1),"",C2)
として、C2・D2セルを範囲指定し、D2セルのフィルハンドルでずぃ~~~!っと下へコピーします。

そして、結果のF2セルは
=IF(COUNT($D$2:$D$100)<ROW(A1),"",SMALL($D$2:$D$100,ROW(A1)))

G2セルは
=IF(COUNTIF($A$2:$B$100,$F2)<COLUMN(A1)+1,"",$F2)
としれG2セルを列方向にオートフィルでコピーします。

最後にF2~コピーした列2セルを範囲指定し、
最後の列のフィルハンドルで下へコピーすると
画像のような感じになります。
尚、数式はA列の100行目まで対応できるようにしています。

以上、長々と書きましたが参考になれば幸いです。
的外れなら読み流してくださいね。m(__)m

こんばんは!
外していたらごめんなさい。
B列にA列と同じ数値が複数ある場合も列方向に複数表示するようにしてみました。

↓の画像のように作業用の列を2列使わせてもらっています。

作業列C2セルに
=IF(COUNT($A$2:$B$100)<ROW(A1),"",SMALL($A$2:$B$100,ROW(A1)))
D2セルに
=IF(OR(C2="",COUNTIF($C$2:C2,C2)<>1),"",C2)
として、C2・D2セルを範囲指定し、D2セルのフィルハンドルでずぃ~~~!っと下へコピーします。

そして、結果のF2セルは
=IF(COUNT($D$2:$D$100)<ROW(A1),"",SMALL($D$2:$D...続きを読む

Qエクセルで、列内が同じ名前を集計する方法は?

エクセルで以下のような表を作成したとします。

      A列   B    C    D
 1行   名前   項目   金額
 2    すずき  あいう  100
 3    すずき  かきく  200
 4    すずき  さしす  450
 5    さとう  あいう  150
 6    さとう  さしす  200
 7    はやし  あいう  250 
 8    はやし  かきく  170
 9    はやし  たちつ  980

B列の名前が同じ者の、金額の合計をD列に出したいのです。
D4に すずきの合計 750、D6にさとうの合計 350、
D9にはやしの合計 1150  というふうに。
全部で100人分位、データ行数は15000ほどあるのですが
これをさっとできるようにはどのようにしたら良いのでしょうか?

Aベストアンサー

次の方法は如何でしょうか。
D2に=IF(COUNTIF(A:A,A2)=COUNTIF($A$2:A2,A2),SUMIF(A:A,A2,C:C),"")を入力→D2を選択→フィルハンドル(D2セル枠右下の■)をダブルクリック
但し、C列途中に空白がある場合、その直前までしかコピーされませんので、空白セル前のセルを下方向にコピー後、同様にフィルハンドルをダブルクリックし下さい。

Qエクセルの名簿を名前順に並べ替えたい

エクセルの名簿を名前順に並べ替えたいです。
Aのセルによみがな、Bのセルに漢字の名前が入っています。

例えば、

サカイ オサム   境 治
サカイ ジロウ   坂井 次郎
サカイ タカシ   酒井 隆史
サカイ タロウ   境 太郎
サカイ ハナコ   坂井 花子
サカイ ヨシコ   酒井 良子

とある場合、Aのセルで並べ替えるとBのセルの名字が揃いません。
これをよみがなでそろえ、さらに漢字でも並べ替えることはできるでしょうか。

Aベストアンサー

漢字の苗字と名前を分ける

フリガナと苗字と名前を全て選択
データ → 並べ替え → 最優先されるキーを苗字の列 → 2番目に優先されるキーを名前の列 → OK

区切り位置でデータを分割
http://www.becoolusers.com/excel/text-to-columns.html

Excel2003 データ → 区切り位置 後は2007と同じ

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ベストアンサー

 名簿の氏名をキーにして50音順に並べたいということだと思いますが、残念ながらフリガナが入力されてなければ漢字の氏名だけで正しい並べ替えは出来ません。
 
 いくらExcelのバージョンが新しくても漢字には音読みと訓読みがあり、漢字でソートするとほとんど音読みで並べます。
 だから例えば安永は「あんえい」に吉田は「きちでん」と読んで並べます。日本名の大半は訓読みですから期待する結果はほとんど得られません。

 ただし一つだけ試して欲しいのは、氏名の列の右にとりあえず1列挿入し、仮に氏名セルのトップがA2だとするとB2に次の式を入力して下方にコピーしてみてください。
=PHONETIC(A2)
 もし氏名を入力するとき読みどおり入力してあればその読みがB2に出るはずです。
 ダメもとでやってみる価値はあると思います。
 駄目なときはフリガナを入力してソートするしかないでしょうね。

Qエクセルで,同じ列にある複数の重複する名前を抽出する方法はありますか?

エクセルで,同じ列にある複数の重複する名前を抽出する方法はありますか?
たとえばA1~A100に氏名が入力されている中に鈴木一郎,佐々木次郎,高橋三郎など重複して氏名が入力されているとします。どの氏名が重複入力されているか不明なので,オートフィルターで抽出するのはチョット不便です。
この場合,鈴木一郎,鈴木一郎,佐々木次郎,佐々木次郎,高橋三郎,高橋三郎と言うように上から順番に重複している氏名を抽出して表示する関数はありますか?

Aベストアンサー

NO1ですが、NO2さんに対する質問の回答がないのでかわりに・・・

=IF(COUNTIF(B$1:B$100,$B1)>1,"重複","1")

ではなく

=IF(COUNTIF(B$1:B$100,$B1)>1,"重複","")

にすれば「1」という表示は無くなりますよ!


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

人気Q&Aランキング