- 締切済み
Excelについて
Excelで、A列に複数の数値が入ってて(1~500、数値は日によってバラバラ)、 B列にも数値(同じ桁数、毎回違う)が入ってます。A列が同じ数値のところだけ、B列だけを並び替える、というのは可能なんでしょうか。まず手順が知りたいです。 それを手動でやるのは大変なので、マクロも作成するつもりです。 説明がわかりずらくて申し訳ないですが、どなたか教えてください。 宜しくお願い致します。 ネットか本で調べるしか方法がなく、他にExcelについてどうしたら学べるでしょうか。。個人的に知りたいExcelの情報が見つかりません。
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- sknbsknb2
- ベストアンサー率38% (1158/3030)
回答No.7です。回答No.7の補足についてです。 手順を示されても、実際にどうしたいのかはわかりません。 回答No.1の補足であなたが示した下記の形式(ソート前とソート後の状態がわかる形式)で最初の状態と最後の状態を書いてください。下記の形式は、必要な列が省かれていると思うので、必要な列を省かずに書いてください。 A B → A B 1 3 1 1 1 2 1 2 1 1 1 3 1 4 1 4 2 2 2 1 2 1 2 2
- sknbsknb2
- ベストアンサー率38% (1158/3030)
回答No.2です。回答No.2の補足についてです。 並び替える前がどうなっていて、結果をどうしたいのかというのを、回答No.1の形式で、必要な列を省かずに示してください。 A列が昇順になっているところからの作業でいいなら、それを並び替える前の状態として示してください。
補足
申し訳ございません。。 最初の状態です。D列を昇順→A列を昇順→BとC列だけにフィルターをかけなおし、C列を昇順にするんですが、A列が200の行だけを昇順にして、A列が300の行だけを昇順にする、という感じです。手動で選択範囲とフィルターをかけなおせば可能かもしれませんが、効率が悪いんです。 そもそもこれが正解なのかもわかりません。もっといい方法や手順があるかもしれません。。。
- SI299792
- ベストアンサー率47% (774/1619)
- hiro_1116
- ベストアンサー率30% (2557/8269)
No.1です。補足を拝見しました。 元データでA列が昇順に並んでいるなら、No.2の回答者様が書かれてている方法で一発解決です。
補足
C列以降も数値があるんです。B列だけを並び替えたいんです。
- SI299792
- ベストアンサー率47% (774/1619)
真ん中の Range("A2:A" & REnd) = Range("A2:A" & REnd).Value は消して下さい。 (消さなくても動きますが、余計なものは省いた方が少しでも早くなると思うので)
- SI299792
- ベストアンサー率47% (774/1619)
A列は並べ替えたらいけないのですね。(並べ替えていいなら簡単なのですが) ヘッダー無しのいきなりデータ。画像の様な並べ替えでいいですか。 Option Explicit ' Sub Macro1() Dim REnd As Long ' REnd = Cells(Rows.Count, "A").End(xlUp).Row [A:A].Insert [A1] = 1 Range("A2:A" & REnd) = "=A1+(B1<>B2)" Range("A2:A" & REnd) = Range("A2:A" & REnd).Value Range("A1:C" & REnd).Sort Key1:=[A1], Order1:=xlAscending _ , Key2:=[C1], Order2:=xlAscending [A:A].Delete End Sub
補足
L列を昇順→A列を昇順→B列だけにフィルターをかけて、A列の数値が同じ範囲だけで昇順、ということをやりたいんです。なかなか言葉にするのが難しくて… 教えてくださったもので、1度やってみます!ありがとうございます!!
- sknbsknb2
- ベストアンサー率38% (1158/3030)
最優先されるキーを列Aにして昇順、 2番目に優先されるキーを列Bにして昇順、 にすればできると思います。
補足
それだと、C以降の列も並び替わっちゃうんです。あくまでも、B列のみを並び替えたいんです。。
- hiro_1116
- ベストアンサー率30% (2557/8269)
やりたい事を例を示して分かりやすく説明してください。
補足
A B → A B 1 3 1 1 1 2 1 2 1 1 1 3 1 4 1 4 2 2 2 1 2 1 2 2 A列が1に該当するB列だけを並び替えたいんです。A列が2に該当するB列だけを並び替えたいんです。 フィルターでA列の1だけを絞り、B列を昇順にすればできますが、A列にある数値全てで同じ作業をするのは大変です。。 C列以降も数値があるので、あくまでもB列だけを並び替えたいんです。 説明が下手で申し訳ないです…
補足
画像を添付しようと思い先程の説明をしたのですが、添付ができませんでした。なので、新しく質問し直しました。 よければそちらの画像を見れますでしょうか。すみません、ありがとうございます。