• ベストアンサー

背番号(?)の付け方

数学の問題といえるかどうかわかりませんが、あることで悩んでいるので教えてください。 AからEまでの5つのグループがあります。それぞれのグループには100人のメンバーがいます。このとき、メンバー全員に次のような条件で背番号をつけたいのです。 ・表計算などでメンバー一覧を作ったとき、背番号からどのグループに属するかが判別できること。 ・あるグループに属するメンバーが、1,2人だけ他のグループに紛れ込んでも、番号だけで簡単に判別「できない」ようにすること。 1つ目の条件と2つ目の条件は矛盾するようですが、要は、番号だけではどのグループに属するかが簡単に判別できず、Excelなどで作った名簿上では簡単に抽出できるようにしたいということです。 具体的な例で説明すると、  Aに1001,1002,1003... Bに2001,2002,2003...と振ってしまうと、  Aの中にBが紛れ込んだとき、1001,1002,2003,1004...ではすぐに「仲間外れ」がわかってしまうので、それは困るということです。 そのような番号の振り方はあるでしょうか。 なお、背番号の桁数は何桁でもいいですが、常識的な範囲(せいぜい10桁までぐらい)としてください。

  • mtkame
  • お礼率70% (291/411)

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

とりあえず、思いついたことをふたつほど。 ひとつは、背番号の各桁の数値を足した数字の1の位が0か5なら グループA、1か6ならグループB、って感じ。 1001 なら、各桁を足した数字が2で、グループC。4189 なら、 各桁を足した数字が 22 で、同じくグループC。 マクロを使えば抽出は簡単です。 もうひとつは、計算の要らない方法。 背番号の最初の桁に1~5の数字を振っておいて、下の桁から 数えて、その順番のところにある数字がグループを表す数字。 例えば、1001 は、最初の桁が1なので、下から数えて一桁目が 1なので、グループA。4189 なら、最初の桁が4なので、下から 数えて4桁目が4なので、グループD。 # 考えれば、考えるだけでてきそう :-)

mtkame
質問者

お礼

桁の数字を足すというアイデアは使えそうです。ありがとうございます。

その他の回答 (1)

  • funi2
  • ベストアンサー率53% (14/26)
回答No.2

自信なしというのは証明が得られてない, 実績がない, どういう風に構成すればよいのかわからない, 具体的でないということなのですが, こんなのはどうでしょう。 A. グループを割り当てる。 1. 全員の背番号からでしかわからない数字を作る。これをSとしましょう。あっ, この時点で, みんなの背番号は決まっていません。だから背番号は乱数とかで必要なだけ作っておいてください。後, Sはこのグループを管理する人だけの秘密にしてください。 2. Sと適当な背番号から新しい数字を作る。これをTとしましょう。 3. Tを5で割ったあまりを求める。出てきた数字をグループの番号としてこのグループに割り当てたい人にその背番号を割り当てる。 B. Aliceのグループを割り出す。 1. SとAliceの背番号からA.2.の方法で, Tを作る。 2. Tを5で割ったあまりを求める。出てきた数字はグループの番号。 C. Bobが混じってもグループがわからない。 "Sを秘密にして誰にも教えなければ", B.のグループの割り出し方が出来ないので, Bobがどのグループに属するのかわからない。 ということです。最初, Sに全員の背番号の総和。TはS引くAliceの背番号。って考えたんですけど, そしたらみんなの背番号を5で割ったあまりを取れば, Bobが仲間はずれってわかっちゃうんですよね。それで, こんな抽象的な書き方になってしまったわけです。TはSにAliceの背番号をかけたものにすればいいのかな。 あと, この方法だと, 全員そろわないと, 誰がどのグループなのかということがわからないという性質があります。 参考までにどうぞ。

mtkame
質問者

お礼

ありがとうございました。参考にさせていただきます。

関連するQ&A

  • 【Excel】MID&FINDの組み合わせ(改)

    以前https://okwave.jp/qa/q9821654.htmlにてご教示いただき注文番号(アルファベット2桁+数字6桁)のみ抽出ができていたのですが、今回桁数が異なる新たな注文番号(アルファベット4桁+数字6桁)が増えてしまいました。 数字部分の桁数6桁は変更無しです。 以前のように注文番号だけ抜き出す方法はありますでしょうか? 列の追加は可能ですので、数式を複数回に分けていただいても構いません。 尚、Offoce365に変わりましたが、Excel2013でも正しく抽出できる数式を希望します。

  • 郵便番号 エクセル書式

    エクセルの書式を使って2つにわかれた郵便番号 をひとつ(3桁 ハイフン 4桁)にまとめたいのですが、どのような書式を組めばよいですか? お知恵をかしてください。 =CONCATENATE(A2,"-",B2)まではわかるのですが、 ハイフンの後の桁数を四桁にそろえる部分がわかりません。 A列         B列        D列 注文者郵便番号1 注文者郵便番号2  注文者郵便番号  152            2 152-0002

  • ユニホームの背番号付け

    フットサルチームを作ったのですが、ユニホームを、いわゆるユニホームではなく(おしゃれめな!?)Tシャツで揃えることにしました。 で、質問です。 Tシャツに背番号を付けたいのですが、何かよい方法(製品、サービス)はないでしょうか?例えば以下など。 (a)自分でアイロンなどで付けられるような背番号 (b)Tシャツを持ち込みで背番号を付けてくれるショップ

  • Access]2つのテーブルを比較してフィールドの一部が一致したデータを抽出

    2つの名簿テーブルを比較してどちらのテーブルにも含まれている個人を抽出したいと考えております。 テーブル名とフィールドは以下のとおりです。 ==================== テーブル名「名簿A」 氏名 電話番号 住所 メールアドレス ==================== テーブル名「名簿B」 姓 名 電話番号 住所 メールアドレス ==================== たとえば、この2つの名簿をメールアドレスで一致したものを抽出する場合は選択クエリのデザインビューで「名簿A」のフィールドを読み込ませ、 メールアドレスフィールドの抽出条件として Like [名簿B].[メールアドレス] を入れれば抽出ができたのですが、メールアドレスは、名簿ごとに記入されていたりしなかったりするので、名前での一致を行いたいと思っています。 ここで問題なのが、名簿Aは「氏名」で入力されているのに対し、名簿Bでは「姓」と「名」が別フィールドになっております。 そこで自分なりにやってみたのが、選択クエリのデザインビューで「氏名」のフィールドの抽出条件として Like (*[名簿B].[姓]*) を設定するものでした。 これがうまくいけば最終的には Like (*[名簿B].[姓]*) And Like (*[名簿B].[名]*) という風にして、名簿Aの「氏名」フィールドに名簿Bの「姓」も「名」も入っているものを抽出できるかな?と考えたのですが、上記のように入力すると、自動的に Like ("*[名簿B].[姓]*") となってしまい、何も抽出されなくなってしまいました。 このような方法では希望する抽出は行えないのでしょうか? お分かりのかた、よろしくお願いいたします。

  • 【Access2000】抽出条件の設定について

    Access2000の抽出条件について質問です。 下記のようなテーブルがあります。 番号が3桁、5桁のものが混在しています。 ※3桁、5桁以外のものはありません。 キー | 番号 | 名前 001 | 11029 | りんご 002 | 332 | みかん 003 | 10154 | ばなな 番号を加工する条件として、 A. 5桁の場合、頭から2桁目から3桁の値を取る B. 3桁の場合は、そのまま値を取る があります。 フィールドの記述は A. 番号加工後: Mid(Left([番号],2) ,3) というところまでは分かりました。 上記の条件をもとにクエリで実行したいのですが、抽出条件はどのように書けばよろしいでしょうか? 識者の方、ご教示いただけますと幸いです。

  • 特定の桁数を抽出

    教えてください。 エクセルのVBAで、 特定の桁数を抽出するにはどうすれば、よいでしょうか。 イメージは、添付ファイルのC列のようなVBAを作りたい、 と考えています。 条件としては、 (1)先頭~10桁までを抽出 (2)それ以降は削除 (3)文字列にする、 です。 使用ソフトは、EXCEL2010です。 よろしくお願いします。

  • 市外局番から全部で8桁の電話番号

    古い名簿を元に、岩手県の方に電話をかける必要が出てきました(仕事です)。 昭和51年に記入されたデータなのですが、市外局番が6桁、続く局番が2桁で、8桁になっています。 ふつう電話番号は10桁が多いと思うのですが、市外局番の桁数が現在の4桁になるまで、またはかつて8桁だった電話番号が10桁になるまでに、何らかのルールがあったのではないかと思います(たとえば、最後の2桁の前に0が2つつくとか)。 自宅や会社の電話番号等で同じような経験をされた方、いらっしゃいましたらその時の状況などお知らせください。

  • 登録番号を入れるだけで表示する方法

    Excel2007を使用しています。 Sheet1に1000人分の名簿(A列 登録番号、B列 名前、C列 住所、D列 TEL…)があるのですが、 Sheet2のA列に登録番号だけを入力したら、自動的にSheet1にある個々人の名簿情報を表示する方法について教えてください。

  • excel2003でifの活用法について

    excel2003でウインドウズXPを使っています 下記のような命令を出したいです 「もし、A1の数字が3桁ならば、B1に"三桁"と表示せよ」 桁数を読み取る関数が解れば、可能かと思ったのですが、ご存知の方お教え願います

  • 電話番号の桁数

    ホームページの問い合わせフォームで、電話番号の入力チェックを作成したいと思っております。 (ちなみにPHPで作成です。) ハイフンなどの記号を削除し、最終的に「数値が○桁であれば良し」としたいのですが、存在する電話番号は何桁があるのでしょうか? NTTに問い合わせても「桁数は○○です」という返答がいただけなかったので、こちらで聞いてみました。 <条件> 1.国内の電話番号 2.固定・携帯も含む 3.連絡先として電話をかける場合に使用することができる番号 自分で調べた限りは固定が10桁、携帯が11桁という情報のみだったので、10桁or11桁で良しにしようかと思っていますがどうでしょうか。 どうかよろしくお願いいたします。

    • ベストアンサー
    • CGI