- ベストアンサー
エクセルの降順について困ってます
- エクセルで、空白を多数含むデータを降順に並べる方法について困っています。
- 600件ほどの売り上げデータがあり、一部のセルには空白があります。
- フィルターをかけて空白を除外し、売上金額を降順に並べる方法を知りたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは マクロでもいいのでしょうか? Sub test() Dim sh1 As Worksheet Dim sh2 As Worksheet Set sh1 = Worksheets("Sheet1") Set sh2 = Worksheets("Sheet2") 'A、B列にデータがあるとして With sh1 .Range("A1").CurrentRegion.AutoFilter Field:=2, Criteria1:="<>" .AutoFilter.Range.Copy sh2.Range("A1") End With sh2.Range("A1").CurrentRegion.Sort _ Key1:=sh2.Range("B1"), Order1:=xlDescending, _ Key2:=sh2.Range("A1"), Order2:=xlAscending End Sub 列位置とかシート名とか分からないので適当です。 同じ売上金額の時のNoは昇順にしてあります。
その他の回答 (2)
- kkkkkm
- ベストアンサー率66% (1719/2589)
シートそのものをコピーして、そのコピーしたシートで作業すればいかがでしょう。 B列の空白部分に半角スペースか全角スペースが入っていると思いますので 置換で半角スペースもしくは全角スペースを検索する文字列にして置換後の文字列は何も入力せずにすべて置換した後に並び替えをするとデータのある部分が上部にくると思います。 また、そのままの状態でB列優先で降順で並び替えたら空白が上部に来た場合には下の方に売り上げが降順で並んでいると思います データが降順で並んでいれば以下の式で取り出せると思います。 =INDEX(A:A,MATCH(LARGE(B:B,ROW($1:$1)),B:B,0)+ROW(1:1)-1,1) 必要なだけ下方向にコピーしてください。
お礼
ご回答ありがとうございます。 シートをコピーするのは現状難しいので、取り出して活用する方法で試してみます。 ありがとうございます。
- msMike
- ベストアンサー率20% (364/1804)
お礼
ご回答ありがとうございます。 しかしながら、マクロの方は不勉強で、あまりわからずです。 申し訳ありません。ありがとうございました。