[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『アルファベット一文字or二文字の昇順並び替え』(あいろん)
よろしくお願いします。
A4から下に
項目 並び替えキー
X
Y
CD
Z
AA
B
A
(300行ほど)
と記号が入っています。
B5以下に式を入れて下記のように並び替えたいのですが、どんな式を入れればいいですか?
アルファベットは最大2文字。一文字の場合と二文字の場合があります。
作業列を使っていただいてもかまいません。
項目 並び替えキー
A
B
X
Y
Z
AA
CD
< 使用 Excel:Excel2010、使用 OS:Windows7 >
アルファベットは小文字もあるんですか?
ある場合、並び順はどうなるんですか?
(半平太) 2019/06/16(日) 20:18
(あいろん) 2019/06/16(日) 20:26
>B5以下に式を入れて
B5セル =INDEX(A:A,MOD(SMALL(INDEX((CODE(RIGHT(" "&A$4:A$10,2))&CODE(RIGHT(A$4:A$10)))*1000+ROW(A$4:A$10),0),ROW(A1)),1000)) 下にコピー
<結果図> 行 _A_ _B_ 4 X 5 Y A 6 CD B 7 Z X 8 AA Y 9 B Z 10 A AA 11 CD
(半平太) 2019/06/16(日) 20:53
>作業列を使っていただいてもかまいません。
だったら、C列を作業列として
C5 =IF(A5="","",COLUMN(INDIRECT(A5&1)))
B5 =IFERROR(SUBSTITUTE(ADDRESS(1,SMALL($C$5:$C$300,ROW(A1)),4),1,""),"")
下コピー
参考まで (笑) 2019/06/16(日) 21:52
=DECIMAL(A1,36)
2番目に36を渡すと、0〜9,A〜Zまでの36進数を10進数に変換してくれるので、出現するのが大文字アルファベット限定ならこれで対応できると思います。
(名無し) 2019/06/16(日) 23:52
=INDEX($A$4:$A$10,MATCH(SMALL(INDEX(DECIMAL($A$4:$A$10,36),0),ROW()-3),INDEX(DECIMAL($A$4:$A$10,36),0),0))
(名無し) 2019/06/17(月) 00:12
データ量は300件ほどで変動ありなんですよね? 以下でどうですか。
B5 =IFERROR(BASE(AGGREGATE(15,6,ROUND(1/(1/DECIMAL(A$4:A$400,36)),0),ROW(A1)),36),"") 下にフィルコピー
(sy) 2019/06/17(月) 00:34
この質問はもしかして 並べ替え自体は数式ではなく並べ替え機能でやる。 そのためにB列にどんな式を入れたらよいか、ということ?
だとしたら、一応訂正
A B 4 項目 キー 5 X 24 6 Y 25 7 CD 82 8 Z 26 9 AA 27 10 B 2 11 A 1 ・
B5 =COLUMN(INDIRECT(A5&1)) A列のデータ最終行までコピー
B列昇順で並べ替え
以上、参考まで (笑) 2019/06/17(月) 11:11
(γ) 2019/06/17(月) 13:08
・DECIMAL関数がエラーになるので調べたら2010には使えないようです。
・まさか一発で並び替えができるとは驚きです。
・(笑)さんお察しの通りです。
言葉足らずでしたが、C〜Lにもデータがあり
並び替えキーを設定して表全体を並び替えたかったのです。
=IF(A5="","",COLUMN(INDIRECT(A5&1)))
これを使わせていただきます。柔軟な発想恐れ入ります。
(あいろん) 2019/06/17(月) 20:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.