« 三四郎関数でソート・・・【解答】 | メイン | 三四郎関数でソート(第2弾)・・・【解答】 »

2007年7 月24日 (火曜日)

コメント

khan

三四郎はまったくわからないので、EXCELでの数式です。

A1=CODE(B1)*10000+CODE(MID(B1,2,1))+CODE(MID(B1,3,1))/10000

C1=INDEX($B$1:$B$10,MATCH(SMALL($A$1:$A$10,ROW()),$A$1:$A$10,0))

とりあえず三文字めまでの判定としました。
この例題なら=CODE(A1)だけでいいと思いますが、念のため。

くまぷー

Khanさん、投稿有り難うございます。
正解で~す!!(^。^)

>EXCELでの数式です。

私も三四郎よりエクセルの方が
得意なのでエクセルでの投稿は
全く構いません。(^。^)

>とりあえず三文字めまでの判定としました。

エクセルでは最終文字まで考慮して
判定できます(^^ゞ

三四郎でも・・・。

えくせるバカ

まいど失礼します。

Excelの場合
"あお""あか"=FALSE
で解るように、
文字列の昇降を認識してますから、

C1:C10に
{=INDEX($B$1:$B$10,MATCH(ROW($1:$10),COUNTIF($B$1:$B$10,"<="&$B$1:$B$10),0),)}

で、どうでしょう。


えくせるバカ

すいません
"あお"と"あか"の間に入れた筈の
記号が消えてました。
"あお" > "あか"=False
"あお" < "あか"=True
です!

悪児

駅名なら、同じものはない、
ということで、三四郎なら
A1に
=String(Count(Search("<=" & "B" & Row(B1),B$1:B$10)))
C1に
=VLookup(Row(A1) & "",A$1:B$10,2)
でできるけど、
今一面白くない。
別解を考えます。(^^)ゞ

くまぷー

えくせるバカさん、悪児さん、こんにちは。

くまぷーの考えていた回答は
エクセルならえくせるバカさんのもの、
三四郎ならば悪児さんのものと
ほぼ同じです。(^^ゞ

二人とも回答作りが早いですね。(^^ゞ
流石です。

>今一面白くない。
>別解を考えます。(^^)ゞ

楽しみです。(^。^)

きっちー

エーと、

A1に =If(B1,Count(Search("<='" & B1 & "'",B$1:B$11))-Count(Search("='" & B1 & "'",B1:B$11))+1+Fp(Row(A1)*0.01))
C1に =Index($B$1:$B$11,1,Fp(Small($A$1:$A$11,Row($C1)))*100)

順位づけしました。
え?この解答を見たことがある?ひねりがない?これは失礼しました。(^^)ゞ

くまぷー

きっちーさん、こんばんは。

きっちーさんのは同名にも
対応しているわけですね。(^。^)

>ひねりがない?これは失礼しました。(^^)ゞ

いやいや、解法がある程度パターン化してしまうのはやむを得ないことかと・・・。

ジョー3

あらーーー
コメントを書いたと思ったが、ない・・・
投稿を押さなかったのかなーーー

で、もう一回。

code と、
文字のソート順の違うヤツあったよねーーー

でも、駅名ではないか??・・・そだよねーー

くまぷー

>コメントを書いたと思ったが、ない・・・

えっ、第一弾の方にありますが・・・
あれのことでは?
http://kumapooh.justblog.jp/blog/2007/07/post_ceb7.html

>code と、
文字のソート順の違うヤツあったよねーーー

えっ、何のことでしたっけ?(^^ゞ

ジョー3

>>code と、
文字のソート順の違うヤツあったよねーーー

>えっ、何のことでしたっけ?(^^ゞ

ヴィーナス駅は(あったなら)

ヴィーナス 9588
うさぎ 9254
おがわ 9258

うさぎ 9254
おがわ 9258
ヴィーナス 9588


文字ソートと、codeソートの違いがあった。

でも、日本人ダイジョウブ!!ね、

くまぷー

あ、くまぷーです。
今、落ち着いて検証してみたら
えくせるバカさんの式でやると
全部「うすい」になってしまう・・・。

どぼじて?!?(・_。)?(。_・)?

エクセル2000,2007でやってみました。

くまぷー

>文字ソートと、codeソートの違いがあった。

あ、わざわざ、どもです。(^^ゞ

片仮名交じりですね。
例題の駅名は全て京成線のものなのですが・・・

そう言えばユーカリが丘ってのがあったな!!

昔はセンター競馬場前というのが
ありました。ちなみに「センター」というのは
船橋ヘルスセンターのことです。
昔、そこでよく「ドリフの8時だよ、全員集合!!」の
録画撮りをしていましたっけ・・・。(^^ゞ

悪児

>えくせるバカさんの式でやると
全部「うすい」になってしまう・・・。

{=INDEX($B$1:$B$10,MATCH(ROW(A1),COUNTIF($B$1:$B$10,"<="&$B$1:$B$10),0),)}

のようですね。
配列数式は、よく分からん・・・(^^;)(^^;)

悪児

悪児の作ったExcel版は、
次の2つです。

{=INDEX(B$1:B$10,MOD(SMALL((CODE(B$1:B$10)-9249)*10000+(CODE(MID(B$1:B$10&"ぁぁ",2,1))-9249)*100+(CODE(MID(B$1:B$10&"ぁぁ",3,1))-9249)+ROW(C$1:C$10)*0.001,ROW(C1)),1)*1000,1)}

{=INDEX(B$1:B$10,MOD(SMALL(COUNTIF(B$1:B$10,"<=" & B$1:B$10)*1000+ROW(A$1:A$10),ROW(C1)),1000),1)}

Matchは、思いつかなかった・・・(^^;)(^^;)

悪児

三四郎別解は、
A1に
=Count(Search("<=B" & Row(A1),B$1:B$10))*1000+Row(A1)
C1に
=Index(B$1:B$10,1,Small(A$1:A$10,Row(C1)) MOD 1000)

で、きっちーさんとほぼ同じ。
なお、同名対策は、
ソートするのが名前だけの場合、
必要がないので、省略しました。

配列数式のない三四郎じゃ、
これ以上は、ないかも・・・(^^;)(^^;)

えくせるバカ

>えくせるバカさんの式でやると
>全部「うすい」になってしまう・・・

コメントがわかり難かったかも・・・

まず、C1:C10を選択した状態で
アクティブなC1に

=INDEX($B$1:$B$10,MATCH(ROW($1:$10),COUNTIF($B$1:$B$10,"<="&$B$1:$B$10),0),)

を入力してCtrl+Shift+Enter
でやってみてください(*^^)v

くまぷー

えくせるバカさん、できました。(^。^)
ありがとうございます。

くまぷー

悪児さん、こんばんは。エクセルの上の式はコード番号でソートしているので
「センターけいばじょうまえ」などの片仮名交じりの駅名が入ると、ひらがな駅名の後に並びますが、下の式はひらがな・片仮名混合でもあいうえお順に並びます。
このあたりの動きはくまぷーのものと同じですね。

でも、"ぁぁ"は何なんだろう?
解説キボンヌm(__)m

>配列数式のない三四郎じゃ、
>これ以上は、ないかも・・・(^^;)(^^;)

配列数式をサポートしていなくても
実用的には問題はないと思うけど
遊ぶにはちょっと淋しい・・・

悪児

>でも、"ぁぁ"は何なんだろう?

駅名が、3文字未満だと、Codeでエラーが出てしまうので、そのエラー対策です。

ところで、2文字の駅名はすぐ思い浮かぶと思いますが、
1文字の駅名って、あると思います?

駅名で、もうひとつ。
京成には、「にしふなばし」駅はありません。
あるのは、「(けいせい}にしふな」駅です。(^^)ゞ

くまぷー

悪児さん、早速の返信有り難うございます。

エラー対策だったのですか。☆☆(゜-゜)ウンッ☆☆

>京成には、「にしふなばし」駅はありません。

ありゃ*^_^*

>1文字の駅名って、あると思います?
「津」なんてのが・・・。


コメントの確認

コメントのプレビュー

プレビュー中です。コメントはまだ投稿されていません。

処理中...
コメントを投稿できませんでした。エラー:
コメントを投稿しました。 さらにコメントを投稿する

入力された文字と数字は画像と一致していません。再度入力してください。

最後に、下の画像の中に見える文字と数字を入力してください。これはプログラムを使ってコメントを自動的に投稿するのを防ぐために行われています。

画像を読み取れない場合は 別の画像を表示してください。

処理中...

コメントを投稿

アカウント情報

(名前は必須です。メールアドレスは公開されません。)

2024年8 月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

TOP メニュー