過去の桐井戸端BBS (桐ver.8)
14948 並べかえがうまくいかない 山本高寿(超初心者) 2002/01/31-09:31
 こんな質問と,笑わないでください。お願いします。
 受験者名簿を作っています。受験の形態によって並べ替えをしたいのです。
現在は 「併願(希望順位の高い順) 推薦 一般(志望順位が高い順)」もしくはその逆です。
これを ひとつ付け加えて
「推薦 併願(希望順位の高い順) 単願  一般(志望順位が高い順)」で並べたいのですが。
どうしたらよろしいでしょうか・・・・

よろしくご指導下さい。
14949 Re:並べかえ masa 2002/01/31-09:47
記事番号14948へのコメント
山本高寿(超初心者)さん おはよう御座います。

> 受験者名簿を作っています。受験の形態によって並べ替えをしたいのです。
>現在は 「併願(希望順位の高い順) 推薦 一般(志望順位が高い順)」もしく
>はその逆です。
>これを ひとつ付け加えて
>「推薦 併願(希望順位の高い順) 単願  一般(志望順位が高い順)」で並べ
>たいのですが。どうしたらよろしいでしょうか・・・・

「行操作」-「並べ替え」の中に既に条件名が登録されてると思いますが、
その条件名の所が選ばれている状態(複数あると思うので反転状態される)で
右側の「変更」をクリック。
単願 (項目名)を > で整列項目に移動。
後は整列順位を 下の方の↑↓印で移動させて終了です。


14950 Re:並べかえ 山本高寿(超初心者) 2002/01/31-10:03
記事番号14949へのコメント
masaさん


早速のお返事感謝しております。
実は受験区分という項目の中に「推薦 併願(希望順位) 単願  一般(志望順位順)」が入っているのです。
ですから,その中でどんな規準で並べかえると自分が考えるようになるのでしょうか。
降順・昇順・辞書順・逆辞書順など試しましたがうまくいきません。
なにかデータに付け加えないとだめでしょうか。
よろしくご指導下さい。

14951 Re:並べかえ 悲しげ 2002/01/31-10:25
記事番号14950へのコメント
どもっ、山本さん
例えば以下のようなフラグ項目(整数型)を増設し、その項目計算式を次のようにしてみます。
[推薦F]・・・・・#条件選択([受験区分]="推薦",1)
[併願F]・・・・・#条件選択(#文字位置([受験区分],"併願")>0,1)
[単願F]・・・・・#条件選択([受験区分]="単願",1)
[一般F]・・・・・#条件選択(#文字位置([受験区分],"一般")>0,1)
このようにして、後は並べ替え条件でそれぞれ当該フラグ項目を優先の順(但し降順)に指定してみると云うのはいかがでしょう。
14953 Re:並べかえ masa 2002/01/31-10:51
記事番号14950へのコメント
山本高寿(超初心者)さん おはよう御座います。

>早速のお返事感謝しております。実は受験区分という項目の中に「推薦 併願(希望順位) 
>単願  一般(志望順位順)」が入っているのです。ですから,その中でどんな規準で並べかえ
>ると自分が考えるようになるのでしょうか。降順・昇順・辞書順・逆辞書順など試しましたがう
>まくいきません。なにかデータに付け加えないとだめでしょうか。
>よろしくご指導下さい。

まず、どこまでが一つの項目か又、データの値が文字列なのか数値なのか等よくわかりませんが
各々項目値は数値とか整数が入っていると仮定しますと、
並べ替え条件の一番上から順に優先されますので

推薦             昇順
併願(希望順位の高い順)   昇順
単願             昇順
一般(志望順位が高い順)   昇順

でいいのではないでしょうか?
ちなみに昇順は数字の小さい順に並び、上記でいくと

推薦 併願 単願 一般
 1  1   1  1
 1  1   1  2
 1  1   2  1
 1  2   1  1
 1  3   1  1
 2  1   1  1
 2  1   2  1
 2  1   2  2
 2  2   1  1
 3  1   1  2
 3  2   1  2
 3  3   1  3

という感じです。昇順、降順は何時でも変更出来るので、実際にやってみるとよく解りますよ。
「並べ替え」-変更-で右下の整列順で変えられます。


14954 Re:並べかえ masa 2002/01/31-10:56
記事番号14953へのコメント
これって表の中の話として投稿してましたが、他の人が作った一括処理中を変更させたかったんですか?
14955 Re:並べかえ masa 2002/01/31-11:29
記事番号14953へのコメント
受験区分という項目の中に と書いてありましたね。すみません。
そうですねー、私なら1項目中に4種類しかないので、まず「行操作」の「絞り込み」で推薦 を選び、
その状態で項目を右クリックすると「項目置換」とありますのでそれで計算式蘭に”1推薦”として置き換えます。
以下同様に”2併願””3単願””4一般”とそれぞれ置換します。
それで並び替えで受験区分を昇順にすれば希望のように並ぶと思います。


14958 Re:並べかえ jyuuyuu 2002/01/31-13:04
記事番号14950へのコメント
山本高寿さん 今日は JYUUYUU といいます。


文字列の並べ替えは、うっかりすると、とんだ落とし穴にはまるおそれが有ります。
即ち、併願と 併 願 またわ 併願 の前後にスペースが入ると並び方に微妙に変わってきます。

従って、[受験区分]は値集合の属性にし値の順位をここで決め
項目名に[区分CODE](整数型)を追加し 項目計算式に
#集合番号( [受験区分],[受験区分] )を入れます
それで[区分CODE]を並べ替えるようにされたら如何でしょう。

14959 Re:並べかえ 山本高寿(超初心者) 2002/01/31-13:32
記事番号14958へのコメント
たくさんの方からお返事いただきましてありがとうございます。とりあえず,
すべてのお返事について,ここでご返答させていただきます。
 結論から書くと  本当に申し訳ありません。
難しくてできそうにありません。
もう少し,中を説明すると,
 テーブルの中で受験区分と志望順位は分かれています。単願は必ず志望順位は1です。
併願は順位が1と2があります。一般は1〜5です。その区分と順位が連結?されています。
 おそらく,自分ができるレベルでは,受験区分のデータ 単願,推薦,併願,一
般これに何かをくっつけて昇順か降順がする位だと思います。
 いろいろご指導いただいて本当に感謝しております。ダメなら残念ですが諦めます。
 ただ
項目名に[区分CODE](整数型)を追加し 項目計算式に
>#集合番号( [受験区分],[受験区分] )を入れます
>それで[区分CODE]を並べ替えるようにされたら如何でしょう
なら出来そうなのですが。もう少し優しく教えてくれますか?
お時間ありましたらお願いします。

14961 Re:並べかえ masa 2002/01/31-14:09
記事番号14959へのコメント
山本高寿(超初心者)さん こんにちは

>もう少し,中を説明すると,
> テーブルの中で受験区分と志望順位は分かれています。単願は必ず志望順位は1で
>す。併願は順位が1と2があります。一般は1〜5です。その区分と順位が連結?され
>ています。
> おそらく,自分ができるレベルでは,受験区分のデータ 単願,推薦,併願,一
>般これに何かをくっつけて昇順か降順がする位だと思います。
> いろいろご指導いただいて本当に感謝しております。ダメなら残念ですが諦めま
>す。

データの種類が他にもいろいろありそうですので、やはり各々別の項目を作って並べ替えした方がいいように思えました。

単願,推薦,併願,一般の項目を別に作り、以前書いたように「受験区分」の絞り込みで
例えば 併願1 だけを絞り込んだら、項目の併願蘭で、項目置換で”1”を
併願2 だけ絞り込んだら、項目の併願蘭で、項目置換で”2”をそしてその他の
データ欄は空白ですが、並べ替えると先にくるので空白(#U)だけ絞り込んで
項目置換で”9”とでもすれば昇順できれいに並びます。
他の項目も同じようにすれば思い通りの結果がでると思います。


14964 Re:並べかえ 山本高寿(超初心者) 2002/01/31-15:20
記事番号14954へのコメント
masaさん

>これって表の中の話として投稿してましたが、他の人が作った一括処理中を
>変更させたかったんですか?

自分でも分からないのですが,そうではないと思います。
単純に並べかえるだけだと思います。

14965 Re:並べかえ masa 2002/01/31-15:36
記事番号14964へのコメント
山本高寿(超初心者)さん こんにちは

>>これって表の中の話として投稿してましたが、他の人が作った一括処理中を
>>変更させたかったんですか?
>
>自分でも分からないのですが,そうではないと思います。単純に並べかえるだけだ
>と思います。
>
え?っていう感じです。
一番最初に一括処理の事で質問されておられましたので、もしかしてと思ったのですが
その後の投稿を見ていくと表のようなので、続いて回答させています。

14966 Re:並べかえ 山本高寿(超初心者) 2002/01/31-15:44
記事番号14955へのコメント

たくさん返信があって,見落としていました。大変失礼いたしました。
もしこれで行うと,レポートに”1推薦”と出てしまいませんか?
もしそうなら,レポートに表示する段階で”1”を消すことは出来ますか。

こんな質問にたびたび返信していただいて,ありがとうございます。

14968 Re:並べかえ masa 2002/01/31-16:10
記事番号14966へのコメント
山本高寿(超初心者)さん こんにちは。

印刷するとは解らなかったのですが、そのまま印刷するとなると1も出ます。
レポートのデータ欄で  #TRIM( #部分列(「受験区分」,-2,-20),4)
とでもすれば1とか2とか出なくなると思いますが、そのままデータを生かしつつ簡単なのは、
別に投稿してありますが、別々に整列用の項目を作れば一番簡単かなと思っています。
(印刷したい文字が項目の中にいろいろあって、その項目を並び替えをすると順番が変わるようなので)

14969 Re:並べかえ 山本高寿(超初心者) 2002/01/31-16:33
記事番号14968へのコメント
masaさん

>印刷するとは解らなかったのですが、そのまま印刷するとなると1も出ます。
>レポートのデータ欄で  #TRIM( #部分列(「受験区分」,-2,-20),4)
>とでもすれば1とか2とか出なくなると思いますが、そのままデータを生かしつつ
>簡単なのは、別に投稿してありますが、別々に整列用の項目を作れば一番簡単かな
>と思っています。(印刷したい文字が項目の中にいろいろあって、その項目を並び替え
>をすると順番が変わるようなので)


やはり”1”が出ました。
>別々に整列用の項目を作れば
これは具体的にどうゆうことですか?
 山本君が推薦で山田君が単願,及川君が一般なら
    ・・・・・・・(いくつか項目があり) 推薦  併推   単願  一般
山本高寿                   推薦
山田幸二                            単願
及川 透                                一般

とするのですか?

14970 Re:並べかえ masa 2002/01/31-16:54
記事番号14969へのコメント
山本高寿(超初心者)さん こんにちは。

>やはり”1”が出ました。

上記のように レポートのデータ欄で  #TRIM( #部分列(「受験区分」,-2,-20),4)とすれば出なくはなります。

>>別々に整列用の項目を作れば
>これは具体的にどうゆうことですか?
> 山本君が推薦で山田君が単願,及川君が一般なら
>    ・・・・・・・(いくつか項目があり) 推薦  併推   単願  一般
>山本高寿                   推薦
>山田幸二                            単願
>及川 透                                一般
>
>とするのですか?
>

       受験区分       推薦  併推   単願  一般
山本高寿   推薦1併推2       1   2     9   9
山田幸二   推薦1併推1       1   1     9   9
及川 透   単願          9   9     1   9

というような感じです。

14971 Re:並べかえ jyuuyuu 2002/01/31-17:11
記事番号14959へのコメント
山本高寿さん 今日は JYUUYUU です。

> ただ
>項目名に[区分CODE](整数型)を追加し 項目計算式に
>>#集合番号( [受験区分],[受験区分] )を入れます
>>それで[区分CODE]を並べ替えるようにされたら如何でしょう
>なら出来そうなのですが。もう少し優しく教えてくれますか?
>お時間ありましたらお願いします。

なるべく、易しく書きますが、解りにくいところは再度聞いて下さい。
@ データーがかなりの行数になってるなら別のホルダーにバックアップ
  をとって置いて下さい。(失敗したときに元に戻すためです)
A 表をを開く
B 表示(V)ー>再定義
C [受験区分]を [受験区分B]に変更
D 行操作(R)ー>行挿入を選び新たに項目名に[受験区分]を作成
E ここで右クリックし、項目属性を選ぶ
F 値集合のを選択する
G 値の欄に上から単願、推薦、併願、一般と入力
H 右側の番号欄は上から1,2,3,4を入力
I 項目属性は右上の×で終わる
J 行操作(R)ー>行挿入を選び新たに項目名に[受験区分CODE]を作成
K データ型を整数に
L 項目計算式の欄に#集合番号( [受験区分],[受験区分] )と入れる
M 表示(V)ー>編集
O [受験区分B]を見ながら[受験区分]をマウスを使って入力
P 表示(V)ー>再定義
Q [受験区分B]の行を削除する
以上の手順を行えば、値集合がどんなものかの理解が体験出来ますので
次の段階へ進めると思いますが・・・・・・

14973 Re:並べかえ 山本高寿(超初心者) 2002/01/31-17:33
記事番号14970へのコメント
masaさん

今更ですが,受験区分も第一希望から第5希望までそれぞれ@受験区分〜D受験区分とあるのですが・・・
>       受験区分       推薦  併推   単願  一般
>山本高寿   推薦1併推2       1   2     9   9
>山田幸二   推薦1併推1       1   1     9   9
>及川 透   単願          9   9     1   9
については受験区分のところが,全くわかりません。
いろいろとご心配いただきましたが,ちょっと今の段階では私の能力の限界を感じました。
ありがとうございました。あきらめます。ごめんなさい。

14974 Re:並べかえ masa 2002/01/31-18:11
記事番号14973へのコメント
山本高寿(超初心者)さん こんにちは。


>今更ですが,受験区分も第一希望から第5希望までそれぞれ@受験区分〜D受験区分とあるのです
>が・・・

そーなんですか。各々”推薦 併願(希望順位の高い順) 単願  一般(志望順位が高い順)”とかあるのですね?

>>       受験区分       推薦  併推   単願  一般
>>山本高寿   推薦1併推2       1   2     9   9
>>山田幸二   推薦1併推1       1   1     9   9
>>及川 透   単願          9   9     1   9
>については受験区分のところが,全くわかりません。

今までの話の中で「受験区分」項目の値の中に
”推薦 併願(希望順位の高い順) 単願  一般(志望順位が高い順)”
とか”併願1、併願2”とかあるように思えたのでそれを簡単にこの中で表現したつもりでした。


>いろいろとご心配いただきましたが,ちょっと今の段階では私の能力の限界を感じました。
>ありがとうございました。あきらめます。ごめんなさい。
>

最初に具体例として項目と項目値を挙げてもらえたら、もっと良い案が出たかも知れません。
残念です。
この件でも他の件でも懲りずに投稿してみて下さい。他の方々のすばらしい解答があると思います。

14975 Re:並べかえ 山本高寿(超初心者) 2002/01/31-18:32
記事番号14971へのコメント
jyuuyuuさん

いろいろありがとうございます。実は別のところで諦めますと書いたのですが,再チャレンジしてみます。
今更なのですが,受験区分も第1希望から第5希望までそれぞれ受験区分@〜受験区分Dというのがあるのですが,それでも可能ですか?
とりあえず上記のことは頑張ってみます。

14976 Re:並べかえ 悲しげ 2002/01/31-18:43
記事番号14948へのコメント
話が錯綜しているようなので、とりあえず大元の方にコメントします。

私は、実はmasaさんが仰るような、源項目値自身を項目置換してしまう方法はお奨めしません。(^^;)
なぜなら、そうしてしまうと、並べ替え以外の用途では(源項目値が変わってしまっているために)困ったことになる危険性が有り得るからです。
やはり作業用の別項目を使った方が無難かと思います。
※一応、私の書いたNo.14951-14952も読んで下さいね。(^^;)

次、
やはり山本高寿(超初心者)さんは、全体としてどのようなデータ構成になっているのかの具体例
(とは云っても固有名詞は当然リネームして)を挙げる方がいいと思います。
小出しだと、とても非効率的な印象を受けます。
データ構成と云っても要するに、表の横(項目名)と縦の値がどうなっているかと云うことです。例えば次のように。
  項目A 項目B 項目C 項目D 項目E
  あいう えおか きくけ こさし すせそ
  はひふ へほ  まみ  むめも わをん
  ・・・ ・・・ ・・・ ・・・ ・・・
そうしないと、もしかするとjyuuyuuuさんの助言も空振りになってしまうかもしれませんし。

14980 Re:並べかえ 山本高寿(超初心者) 2002/01/31-19:37
記事番号14976へのコメント
悲しげさん

>話が錯綜しているようなので、とりあえず大元の方にコメントします。
>
>私は、実はmasaさんが仰るような、源項目値自身を項目置換してしまう方法
>はお奨めしません。(^^;)
>なぜなら、そうしてしまうと、並べ替え以外の用途では(源項目値が変わっ
>てしまっているために)困ったことになる危険性が有り得るからです。やは
>り作業用の別項目を使った方が無難かと思います。
>※一応、私の書いたNo.14951-14952も読んで下さいね。(^^;)
>
>次、
>やはり山本高寿(超初心者)さんは、全体としてどのようなデータ構成にな
>っているのかの具体例(とは云っても固有名詞は当然リネームして)を挙げ
>る方がいいと思います。小出しだと、とても非効率的な印象を受けます。
>データ構成と云っても要するに、表の横(項目名)と縦の値がどうなってい
>るかと云うことです。例えば次のように。
>  項目A 項目B 項目C 項目D 項目E
>  あいう えおか きくけ こさし すせそ
>  はひふ へほ  まみ  むめも わをん
>  ・・・ ・・・ ・・・ ・・・ ・・・
>そうしないと、もしかするとjyuuyuuuさんの助言も空振りになってしまうか
>もしれませんし。
>
大変申し訳ありませんでした。よくよく見ましたが,正直言ってこのスペースに書いて説明することができません。
私から言わせるとかなり複雑です。
要所だけを伝えようとしてもかなり難しいです。
なにか方法ありますか?

14983 値集合の順で並べ替えるのが正解です 佐田 守弘 2002/01/31-23:24
記事番号14948へのコメント
山本高寿(超初心者)さん
これは易しそうでいて結構大変ですが、分かってしまえばとても簡単な解決法があるです。
類似のものに、「社長、副社長、専務、常務、部長、課長、係長の様に偉い順に並べ替えろ」があります。
これを「役職順ソート」などと言います(ウソ)。
もちろんこの様な事は、通常の並べ替えでは絶対に処理できません。

解法の鍵は、値集合を使う方法です。
併願、推薦、一般などの値を書き込む項目(仮に[区分]とします。)の値集合にこれらの値を設定して下さい。
ここでは、並べ替えの優先順位値を設定しておく事が大切です。
いずれにしても、この様な決まった値のみを入力するはずなので、値集合を設定しておく事は有効です。

そして、新しく[順]の様な項目を性数項目で作成し、この項目計算式に、
#集合番号([区分],[区分])
と設定して下さい。
この計算式の意味は、それぞれの行の[区分]が、この項目の値集合の何番目に設定してあるかを調べる関数です。
たとえば併願、推薦、一般の順に設定してあれば、併願なら1、推薦なら2、一般なら3が得られます。

従って、この[順]の項目で並べ替えれば、設定した値集合の順序で並べ替えができる仕組みです。

佐田守弘(KS-00119)
14987 Re:値集合の順で並べ替えるのが正解です 尾形 2002/02/01-08:23
記事番号14983へのコメント
>類似のものに、「社長、副社長、専務、常務、部長、課長、係長の様に偉い順に
>並べ替えろ」があります。これを「役職順ソート」などと言います(ウソ)。
>この計算式の意味は、それぞれの行の[区分]が、この項目の値集合の何番目に
>設定してあるかを調べる関数です。たとえば併願、推薦、一般の順に設定して
>あれば、併願なら1、推薦なら2、一般なら3が得られます。

でも、一人しかいない社長を、値集合での一番上に持ってくる
ような設定は通常しないでしょう。
一番頻度の高い値を、値集合での一番上に持ってくるでしょうから
この場合は係長かな (^^;

01社長、02副社長、03専務、04常務、05部長、06課長、07係長のように、
データの段階で対応しておくのが、自分はいいと思います


14988 Re:値集合の順で並べ替えるのが正解です 山本高寿(超初心者) 2002/02/01-09:02
記事番号14983へのコメント
佐田 守弘さん

値を設定する事ができません。(わかりません)一応,再定義で項目属性の値集合の番号をいじってみました。
注釈のところもなにかいれるのですか?

>#集合番号([区分],[区分])
も作ってみました。
閉じようとすると。[区分]が未定義ですでます。
いかがいたしましょう。


14989 Re:値集合の順で並べ替えるのが正解です 山本高寿(超初心者) 2002/02/01-09:07
記事番号14987へのコメント
尾形さん

>01社長、02副社長、03専務、04常務、05部長、06課長、07係長
>のように、データの段階で対応しておくのが、自分はいいと思います


>データの段階で対応しておくのが、自分はいいと思います
ということはどゆうことでしょうか。お時間ありましたらご説明いただけますか。

14990 Re:値集合の順で並べ替えるのが正解です jyuuyuu 2002/02/01-09:49
記事番号14988へのコメント
山本高寿さん jyuuyuuです。

レスした責任上私が答えます。


>値を設定する事ができません。(わかりません)一応,再定義で項目属性の値集合の番号
>をいじってみました。注釈のところもなにかいれるのですか?

注釈は入力を他の人(例えば新人)がするときに、理解しやすいように入れます
併願ー>2校以上に受験  のように
又解らないときは 枠の右上の[×]の左に[?]がある時は[?]の上で左クリックで矢印の横に?マークが出ます、
その状態で解らないところ(注釈)の上でもう一度左クリックで説明文が出ます。



>>#集合番号([区分],[区分])
>も作ってみました。
>閉じようとすると。[区分]が未定義ですでます。
>いかがいたしましょう。


は例えばの話で、貴方の場合は #集合番号([受験区分],[受験区分]) ですよ!!!



15001 Re:値集合の順で並べ替えるのが正解です 山本高寿(超初心者) 2002/02/01-15:19
記事番号14988へのコメント

分かりました。できました。ありがとうございました。
単純なミスがありました。受検とするべき所を受験としていました。
2日間にわたり多くの方に助けていただきました。心より感謝申し上げます。
15034 Re:並べかえ 桜木 2002/02/04-16:33
記事番号14948へのコメント
山本高寿(超初心者)さん

 こんにちは。
まずは勉強と、あちこち開いています。
実は、最後までデータ(レコード)構造がどうなっているのかわかりませんでした。
 当然、担当者にはどのように並べたいかはわかっているわけですから、時間に追われると「手作業的」にするでしょうね。
 何人かの皆さんが書いていたように、順位をつけるための項目を追加し(もちろん印刷には関係なく)、
次に1グループのデータだけを取りだし順位をつける(たとえば1)。
次のグループを選択して取りだし、順位をつける(たとえば2)−−−−−。
(どこかに書いてあったようですが、
絞り込み−−置換、というのがあるそうですから)。そしてソート。
 受験者は1000人はいないでしょうし、グループも100もはないで
しょうから、私が時間に追われていたら、手作業的にこんなことでもするかなと考えたりしました。
場合によっては、いくつかの小グループにわけてこれをするかも。
こんなことを考える超「超初心者」です。
 こんなことを一括処理でするひとはすごいですね。
それにこんなに多くの皆さんが助言に参加するのもすごいと思いました。  桜木恭一
 

戻る