[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『並べ替え』(aki)
こんばんわ。宜しくお願いします。
以下のように、横に品種、その下に個数が入力されています。 多い順に品種、個数とも並び替えがしたいのです。 同じ個数の場合には、列の左側を優先したいです。 このような並び替えはできますでしょうか?
[A] [B] [C] [D] [E] [F] [G] [H] [1] りんご バナナ もも メロン ナシ みかん すいか 合計 [2] 1 20 4 7 10 4 10 56 [3] [4] [5] バナナ ナシ すいか メロン もも みかん りんご 合計 [6] 20 10 10 7 4 4 1 56
< 使用 Excel:Excel2007、使用 OS:Windows7 > 2015/07/10 1:07 aki
コピペして、A5:G6の範囲を、列方向、キーが2行目、降順で並び替えをすればできますので 要件としては、これを関数で ということなんですよね?
(β) 2015/07/10(金) 05:33
素人の汗の結晶(?)です。ちゃんとしたものは早晩、専門家さんから提示があると思います。
A3: =A2+COUNTIF($A2:A2,A2)/1000
A5: =INDEX($A1:$G1,MATCH(LARGE($A3:$G3,COLUMN(A1)),$A3:$G3,0))
A6: =INDEX($A2:$G2,MATCH(LARGE($A3:$G3,COLUMN(A1)),$A3:$G3,0))
A3:A5 を 右にG列までフィルコピー
(β) 2015/07/10(金) 06:48
操作か関数ということでしょうが、マクロなら。
Sub Macro()
Range("A1:H2").Copy Range("A5") Range("A5:G6").Sort Key1:=Range("A6"), Order1:=xlDescending, Orientation:=xlLeftToRight, Header:=xlNo
End Sub
(β) 2015/07/10(金) 08:22
関数で行う場合。 (すまんが合計部分はコピーするなりSUM関数を使うなりしてくれ)
A5セルに =INDEX($A1:$G1,MATCH(LARGE($A2:$G2-COLUMN($A1:$G1)/100,COLUMN(A1)),$A2:$G2-COLUMN($A1:$G1)/100,0)) と入力してShiftキーとCtrlキーを押しながらEnterキーで確定(確定後、式が{}でかこまれればOK) A6セルに =LARGE($A2:$G2,COLUMN(A1)) と入力してA5、A6セルをG列までコピーしてみてくれ。 (ねむねむ) 2015/07/10(金) 10:24
サンプルでは別の行で並べ替えてるけど、元データは残しておきたいってこと?
まあどっちにしても「並べ替え」でできますよね。 既出だけど流れ的に見過ごされる恐れがあるので、そこ改めて強調しておきます。
行方向の並べ替え http://www4.synapse.ne.jp/yone/excel2010/excel2010_sort4.html (笑) 2015/07/10(金) 12:00
ありがとうございました。
データ → 並べ替え(列単位)
できるんですね。 また勉強させて頂きました。 ありがとうございます。
また、
数式をゆっくりと解析させて頂きます。
ご回答をくださいった皆様
ありがとうございました。
< 使用 Excel:Excel2007、使用 OS:Windows7 > 2015/07/10 10:22 aki (aki) 2015/07/10(金) 22:23
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.