問題はこちらを参照。
【解答】
1.A1に =String(Count(Search("<='" & B1 & "'",B$1:B$10))-Count(Search("='" & B1 & "'",B$1:B$10)))
これをA10までコピペ。
2.C1に =String(Count(Search(">='" & D1 & "'",D$1:D$10))-Count(Search("='" & D1 & "'",D$1:D$10)))
これをC10までコピペ。
3.D1に =If(IsError(VLookup(String(Row(A1)-1),A$1:B$10,2)),"",VLookup(String(Row(A1)-1),A$1:B$10,2))
これをD10までコピペ。
4.E1に =If(IsError(VLookup(String(Row(A1)-1),C$1:D$10,2)),"",VLookup(String(Row(A1)-1),C$1:D$10,2))
これをE10までコピペ。
前回のお題のソートを応用しています。(^。^)
ありゃ?
随分、解答速くないですか?(^^;)(^^;)
まだ、考えてもいなかった・・・(^^)ゞ
投稿情報: 悪児 | 2007年8 月 2日 (木曜日) 午前 07時10分
>随分、解答速くないですか?(^^;)(^^;)
そ、そうだったかな(^^ゞ
>まだ、考えてもいなかった・・・(^^)ゞ
くまぷーのは作業列使いまくりなので・・・
それではスマートな解法をよろしく・・・(^^ゞ
投稿情報: くまぷー | 2007年8 月 2日 (木曜日) 午前 07時18分
参加まちしてたら、もう解答が出てた。(^^;;
A1に =If(CountExact(B1,B$1:B1)=1,Count(Search("<='" & B1 & "'",B$1:B$10))+Row(A1)*0.01)
A10までコピペ。
E1に =If(Row($A1)<=Count($A$1:$A$10),Indirect("B" & Fp(Large(A$1:A$10,Row($A1)))*100))
E10までコピペ。
投稿情報: きっちー | 2007年8 月 2日 (木曜日) 午前 09時53分
きっちーさん、いつもながら鮮やかですね。
CountExact(B1,B$1:B1)=1
上式の複合参照が素晴らしい!!
この式で重複項目を消去し、
E列の式でソートしてしまう・・・
表示させるのは、A列の項目の数だけ・・・。
表計算の関数・数式の組合せは
パズルみたいで面白いですよね(^。^)
投稿情報: くまぷー | 2007年8 月 2日 (木曜日) 午後 09時04分
>パズルみたいで面白いですよね(^。^)
そうですよね。(^^)
でも三四郎は使えるピースが少ないのでかなり難解です。(^^)
たとえば検索位置を返す関数が(H、V)LOOKUPしか見つからなくて。困りモンですよ。
裏技をもっと探さなくては・・・。
投稿情報: きっちー | 2007年8 月 3日 (金曜日) 午前 12時05分
>三四郎は使えるピースが少ない
そう、その通り!!
SumStep、AvgStep など
どうでもいい機能の関数は
豊富なのに・・・。(-_-;)
投稿情報: くまぷー | 2007年8 月 3日 (金曜日) 午前 06時12分