過去の桐井戸端BBS (桐ver.9) |
21953 | グループごとに「1」から始まる連番を振りたい | norinori | 2003/08/21-17:43 |
レコードにグループごとで「1」から始まる連番を振りたい。 誰か教えてください。グループごとのレコード数はいろいろです。 | |||
21960 | Re:グループごとで連番を振りたい | 佐田 守弘 | 2003/08/22-01:03 |
記事番号21953へのコメント norinoriさん #順位という関数を使って、項目置換を行います。 まずグループ毎に並べ替えておき、 #順位(<グループ項目名1>,<グループ項目名2>) で置換を行って下さい。 なお、項目計算式にはこの関数は使えません。 佐田守弘(KS-00119) | |||
21963 | Re:グループごとで連番を振りたい | norinori | 2003/08/22-11:22 |
記事番号21960へのコメント TO 佐田さん アドバイス、ありがとうございました。 ですが、私の説明が悪かったのか、希望する内容とは少し違っていました。 私がやりたいのは、グループごとで「1」から始まる連番を振りたいのです。例えば・・・ グループAが5レコードなら、1〜5までの連番を付番 グループBが7レコードなら、1〜7までの連番を付番 グループCが10レコードなら、1〜10までの連番を付番 ということです。 そして、グループごとのレコード数は決まっていません。 確か、「#MOD(#連番,n)”n”はレコード数」でできたと思うのですが、 これだとレコード数を指定しないとならないのと、「0」から始まる連番になってしまうのです。 私の場合はレコード数が一定ではないので、”n”をどのように指定するのか、 また、この関数ではできないのか、困っています。 教えてください。よろしくお願いします。 | |||
21967 | Re:グループごとで連番を振りたい | 幅田 | 2003/08/22-18:32 |
記事番号21963へのコメント norinoriさん #条件選択([グループの項目]=#直前値([グループの項目],[グループの項目]),#直前値([連番の項目],0)+1,1,1) でいかがでしょうか。 | |||
21979 | Re:グループごとで連番を振りたい | 佐田 守弘 | 2003/08/23-00:22 |
記事番号21963へのコメント norinoriさん そういったグループ毎のレコード数不定の場合に、 グループのレコード数に応じて1から始まる連番を自動で振るのが 「#順位」関数なのですが。 >ですが、私の説明が悪かったのか、希望する内容とは少し違っていました。 どの様に違っておりましたか?私の書いた方法で、きちんと > グループAが5レコードなら、1〜5までの連番を付番 > グループBが7レコードなら、1〜7までの連番を付番 > グループCが10レコードなら、1〜10までの連番を付番 になるはずです。 #順位関数は、引き数の数が1つであるか複数であるかで、全く異なる挙動をします。 私のコメントには、 #順位(<グループ項目名1>,<グループ項目名2>) と書いてありますが、<グループ項目名2>を省略して、 #順位(<グループ項目名1>) と書いたのではないでしょうか。 だとしたら確実に、希望する内容と大きく違う結果になります。 佐田守弘(KS-00119) | |||
21980 | 補足:2番目のグループ項目は | 佐田 守弘 | 2003/08/23-00:24 |
記事番号21979へのコメント 補足です。 2番目のグループ項目はダミーで良いのですよ。 何でもよいから、適当な項目を指定して下さい。 佐田守弘(KS-00119) | |||
21984 | Re:補足:2番目のグループ項目は | 今村 誠 | 2003/08/23-09:42 |
記事番号21980へのコメント 佐田 守弘さんこんにちは >2番目のグループ項目はダミーで良いのですよ。 >何でもよいから、適当な項目を指定して下さい。 ダミーは何でも良いわけではないようです。 幅田さんの計算式が紛れが無くて良いのではないでしょうか | |||
21988 | Re:補足:2番目のグループ項目は | うにん | 2003/08/23-13:38 |
記事番号21984へのコメント 佐田さんが最初に書いた >まずグループ毎に並べ替えておき、 >#順位(<グループ項目名1>,<グループ項目名2>) >で置換を行って下さい。 が微妙に誤解を招いたんではないでしょうか。 複数項目を指定した場合最後の項目はグループ項目でなく順位の基準になります。 ですから、グループ内で連番にしたい場合はグループ内で全部違う値になる項目でないといけません。 HELPのサンプルを見るとわかります。 「学年、組ごとに出席番号を振るには、 #順位( [学年] , [組] , [学籍番号] )」みたいな感じでしょうか。 >ダミーは何でも良いわけではないようです。 #順位( [学年] , [組] , [氏名] ) だと、同じ組に同姓同名の人がいると同じ番号になってしまいます。 最初の佐田さんのを見ると #順位( [学年] , [組] ) とやってしまうのでは? >幅田さんの計算式が紛れが無くて良いのではないでしょうか グループが複数項目の場合は、直前値を使うと式が長くなって面倒です。 | |||
21989 | 順位の使い方がわかりました | 今村 誠 | 2003/08/23-14:42 |
記事番号21988へのコメント うにんさんこんにちは、詳しい説明ありがとうございました。 >ですから、グループ内で連番にしたい場合はグループ内で全部違う値に >なる項目でないといけません。 >HELPのサンプルを見るとわかります。 >「学年、組ごとに出席番号を振るには、 >#順位( [学年] , [組] , [学籍番号] )」みたいな感じでしょうか。 項目名がはっきりしていると連想しやすいですね!! #順位の関数のヘルプには複数項目の例示がなかったので 販売管理の項目を抜き出してみました。 >>幅田さんの計算式が紛れが無くて良いのではないでしょうか >グループが複数項目の場合は、直前値を使うと式が長くなって面倒です。 関数の意味からすると順位の方が簡単そうですね | |||
21991 | Re:補足:2番目のグループ項目は | 佐田 守弘 | 2003/08/24-00:07 |
記事番号21984へのコメント 今村 誠さん 確かに、仰るとおりです。 2番目の項目に何を指定しても構わないわけではないですね。 要するに、違う値を取る項目でありさえすれば、グループ化とは関係ない (むしろ関係ない方が良い)という意味で、何でもよいからダミーの項目をと書いてしまいました。 御指摘の通り、1番目のグループ項目より上位にあるグループ項目や、 そのグループ内で同じ値が繰り返す様な項目ではだめです。 佐田守弘(KS-00119) |