[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『2つの条件で並び替え(特殊)について』(ラッキー)
注文番号 品名 数量 納期
22-T001 みかん 5 1/1
22-T002 リンゴ 2 2/1
22-T003 みかん 4 2/1
22-T004 リンゴ 5 3/1
22-T005 ぶどう 5 3/1
22-T006 リンゴ 6 4/1
22-T007 みかん 3 4/1
22-T008 ぶどう 4 5/1
上記のデータを下記のように並べ替えたい。
【やりたいこと】
1、品名で揃える
2、同じ品名で一番納期の早いものを基準に商品の順番をきめる。
(※の納期の部分が重要です)
22-T001 みかん 5 1/1※
22-T003 みかん 4 2/1
22-T007 みかん 3 4/1
22-T002 リンゴ 2 2/1※
22-T004 リンゴ 5 3/1
22-T006 リンゴ 6 4/1
22-T005 ぶどう 5 3/1※
22-T008 ぶどう 4 5/1
色々調べても、解決できなく困ってます。ご指導のほどよろしくお願いいたします。
< 使用 Excel:Office365、使用 OS:Windows10 >
https://www.google.com/search?q=excel+%E3%82%BD%E3%83%BC%E3%83%88+%E8%A4%87%E6%95%B0
(わからん) 2022/08/06(土) 08:08
商品名を昇順 → 納期を古い順
注文番号 商品名 数量 納期
22-T0005 ぶどう 5 3月1日
22-T0008 ぶどう 4 5月1日
22-T0001 みかん 5 1月1日
22-T0003 みかん 4 2月1日
22-T0007 みかん 3 4月1日
22-T0002 リンゴ 2 2月1日
22-T0004 リンゴ 5 3月1日
22-T0006 リンゴ 6 4月1日
納期を古い順 → 商品名を昇順
注文番号 商品名 数量 納期
22-T0001 みかん 5 1月1日
22-T0003 みかん 4 2月1日
22-T0002 リンゴ 2 2月1日
22-T0005 ぶどう 5 3月1日
22-T0004 リンゴ 5 3月1日
22-T0007 みかん 3 4月1日
22-T0006 リンゴ 6 4月1日
22-T0008 ぶどう 4 5月1日
となってしまうためです。
よろしくお願いします。
(ラッキー) 2022/08/06(土) 08:18
(わからん) 2022/08/06(土) 08:37
Sub test() Dim r As Range Dim v
Set r = Cells(1).CurrentRegion Set r = Intersect(r, r.Offset(1))
v = WorksheetFunction.Transpose(WorksheetFunction.Unique(r.Columns(2)))
With ActiveSheet.Sort .SortFields.Clear .SortFields.Add2 Key:=r.Columns(2), CustomOrder:=Join(v, ",") .SortFields.Add2 Key:=r.Columns(4) .SetRange r .Header = xlNo .Apply End With
End Sub
(マナ) 2022/08/06(土) 09:36
> Set r = Intersect(r, r.Offset(1))
の後に、↓1行追加
r.Sort r.Columns(4), Header:=xlNo
(マナ) 2022/08/06(土) 09:47
> .SortFields.Add2 Key:=r.Columns(4)
この行は不要でした。
(マナ) 2022/08/06(土) 09:52
(ラッキー) 2022/08/06(土) 12:46
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.