過去の桐井戸端BBS (桐ver.7)
494 連番の付け方(班分け用) 元気 1998/10/31-22:42
桐7を使用しています。
500人を年齢順に25の班に分けようと思います。
年齢の高い順に
1班、2班、3班・・・・24班、25班、1班、2班・・・・
という具合に連番を打つ方法はありませんか?
例えば、最初に年齢順に並べ替えをして、その後、置換を使ってどのようにすればよいのかお教えいただきたいのですが、よろしくお願いします。
496 Re: 悲しげ 1998/11/1-00:15
どもっ、元気さん、
桐7での挙動は確認していませんが、V5と同じようにできるのであるとするならば、私なら次のようにすると思います。

項目として[作業]と[班]を用意します(どちらも整数型でいいと思います)。

1) 年齢順に降順で整列させます。

2) [班]について、#連番で置換します。

3) [作業]について、#CEIL([班]/25) として置換
   ……これで[作業]について、1が25行、2も25行、……20が25行
     できあがります。

4) [班]について2回目の置換
   #条件選択([作業]<>#直前値([作業],0),1,1,#直前値([班],0)+1)
   ……言葉で云うと、[作業]が前の行と違う値になったら[班]を1とし、
      [作業]が前の行と同じ値なら[班]の値に+1する。
      これが同一[作業]値につき25行目まで続く。
      [作業]値が変わったら、また1〜25まで繰り返す。

ちょっとやぼったいですが、こんな感じでどうでしょう?
あっ、動作未確認ですけど。(^^;)
497 Re: 悲しげ 1998/11/1-00:27
いや、[班]について、一発の置換式でできるかもしれません。(^^;)

  #条件選択(#直前値([班],0)=25,1,1,#直前値([班],0)+1)

元気さん、こっちの式でも試してみて下さい。
あっ、もちろん年齢降順で並べ変えた状態でです。
498 Re: 元気 1998/11/1-17:58
悲しげさん、ありがとうございました。
よく理解していないのですが、
一発の置換式でうまくできました。
#条件選択(#直前値([班],0)=25,1,1,#直前値([班],0)+1)
本当にありがとうございました。

ちなみに、もう一つの方は、(1)から(3)まではその通りなりましたが、(4)の置換式、
#条件選択([作業]<>#直前値([作業],0),1,1,#直前値([班],0)+1)
をすると、何かバラバラの数字になり、ほとんどが1班になりました。
518 Re: ぽっ桐 1998/11/4-14:09
記事番号494へのコメント

プログラムというのは,人により同じ処理を違うアプローチでするところも
面白いところですね.
この問題,僕だったら

#mod((#行番号-1),25)+1 で項目計算式に入れてしまうかな?

戻る