[[20100821161454]] 『データの並べ替え』(たーちゃん) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『データの並べ替え』(たーちゃん) Excel2002,WindowsXP を使ってます

   A   B
1   2  6.2-8.4
2   5  3.3-4.4
3   6  2.7-3.5
4  17  3.1-4.1
5  18  3.9-5.2

というデータをB列左側の数字の順に並べた

   A'  B'
1   6  2.7
2  17  3.1
3   5  3.3
4  18  3.9
5   2  6.2

というデータにしたいのですが、どうしたらいいでしょうか。

LEFT を使ってB列左側の数字を抜き出したのですが、
RANK で順位付けをすると #N/A となってしまいます。
順位付けできれば、VLOOKUP を使って並べられると思うのですが。

良い方法を教えていただけないでしょうか。お願いします。


 単にLEFT関数だけだと文字列だからでは?
 例えば
 =--LEFT(B1,3)
 としたらどーですか?
 (通行人)

 修正 ^^;
 TEXT使わなくても良かったみたい・・・

 追加補足
[[20040530061813]] 『「--」と「!」の意味?』(masabou5)

 参考例
     A     B      C    D   E   F
 1   2  6.2-8.4  6.2       6  2.7
 2   5  3.3-4.4  3.3      17  3.1
 3   6  2.7-3.5  2.7       5  3.3
 4  17  3.1-4.1  3.1      18  3.9
 5  18  3.9-5.2  3.9       2  6.2

 C1 =--LEFT(B1,3)
 E1 =INDEX($A$1:$A$5,MATCH(F1,$C$1:$C$5,0))
 F1 =SMALL($C$1:$C$5,ROW(A1))
 それぞれ下へコピーなんてのも?

 もっとスマートになるかと思いますが
 思いつかないので。
 (通行人)

参考例は希望どおり、正にこうしたいというものです。
(E列、F列の式は理解できていませんが…)
どうもありがとうございました。

(たーちゃん)


 解決したようですね。。
 作業列なしで、
 G1=IF(COUNT(A:A)>=ROW(A1),INDEX($A$1:$A$5,MATCH(SMALL(LEFT($B$1:$B$5,3)*1,ROW(A1)),LEFT($B$1:$B$5,3)*1,0)),"")
 H1=IF(COUNT(A:A)>=ROW(A1),SMALL(LEFT($B$1:$B$5,3)*1,ROW(A1)),"")
 両方とも配列数式ですので、Shift+Ctrl+Enter で確定です。G1:H1を選択して下方にオートフィル。
 (kei)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.