アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルでソートの仕方に関する質問です。
住所録のようなものを作っているのですが一人一行だけではなく
一人で複数行を使って記入しているのもあります。

通常の一行に一人の内容でのソートは解るのですが、一人で二行も
三行も使った場合、従来の方法だとソートができないのです。
複数行を一人の人間の項目だと認識させないとダメなのですが
どのようにしてソートすればいいのでしょうか?

A 回答 (2件)

>人によって一行の人や二行、三行と行数が違うのです。


以下のように理解しております。

Cさん 1行目
Cさん 2行目
Bさん 1行のみ
Aさん 1行目
Aさん 2行目
Aさん 3行目
  という住所録を

Aさん 1行目
Aさん 2行目
Aさん 3行目
Bさん 1行のみ
Cさん 1行目
Cさん 2行目
  に並べ替える。これで合っていますか?

同じ人の1行目~n行目の順番を保ったまま並べ替えるためにB列に「その人の行番号」を生成する関数が

データの並びが#01の通りだとして
 =IF(A2=OFFSET(A2,-1,0),OFFSET(B2,-1,0)+1,1)
です。B2にこの式を貼りつけして、そのセルをデータの下までコピーします。

氏名欄は空白ではダメです。必ず名前を入れてください。ただし上の行と名前が一致するときに、見えないようにする方法が#01の条件付き書式です

先頭の氏名欄(A2とします)を選択して
「書式」→「条件付き書式」を選択して、「値が」を「数式が」に変更します。「式」には =B2>1 のとき
書式で文字色を白色に設定します。A2セルをコピーして他のセルに「編集」→「形式を選択して貼り付け」→「書式」でコピーすると、他のセルにも「条件付き書式」をコピーできます。

後は並べ替えをするだけです。

>もう少し噛み砕いてご説明いただけるとありがたいです。
説明はいたしますが、実際に試していただいて「実際はどのようなデータがあって、どこがうまくいかなかったか」を書いていただかなければ、これ以上の説明は意味がないと思います。

この回答への補足

ご丁寧にありがとうございます。
さっそくこれを基に作ってみたいと思います。
お礼のポイントをつけてしまうと補足ができなくなるらしく
そうするともしできなかった場合、またお尋ねすることが
できなくなってしまうので、とりあえず一度このままに
させていただけますか。どうぞ宜しくお願い致します。

補足日時:2006/09/29 21:24
    • good
    • 0
この回答へのお礼

以前質問をさせていただいてお礼をするのを失念しておりました。
その節は誠にありがとうございました。
また何か機会がありましたらどうぞ宜しくお願い致します。

お礼日時:2009/01/15 14:09

データの並びが


 A列 B列 C列
 氏名 連番 住所
 佐藤  1 東京都… 
 佐藤  2 川崎市…
 鈴木  1 横浜市…
だとします。

まずA列には必ず氏名を入力します。そうでないと並び替えはできません。またB2には以下の式を入れます
 =IF(A2=OFFSET(A2,-1,0),OFFSET(B2,-1,0)+1,1)
そうすればB列の連番は自動的に入ります。B列は通常は非表示にしておけばよいでしょう。

その上でA列、B列を用いて並べ替えをしたらどうでしょう。

一人で複数行を使用するとき、2行目以降に氏名を表示させたくない場合は条件付き書式を使って、
「数式」「=B2>1」のとき「書式」で文字の色を白色にするようにすれば表示はされません。
(ただし入力されているか分かりにくくなりますが…)

なおOFFSET関数を使用したのは行の削除を行ったときに#REF!エラーにならないようにするためです。

この回答への補足

回答ありがとうございます。
人によって一行の人や二行、三行と行数が違うのです。
そんなにエクセルに詳しいわけではないので、すみませんが
もう少し噛み砕いてご説明いただけるとありがたいです。

補足日時:2006/09/29 15:59
    • good
    • 0

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

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