dポイントプレゼントキャンペーン実施中!

皆さんの質問やその回答に感心するばかりの者です。        数字を羅列したデータ表があります。0~9が円状に配置されている考え方で、例えば1023と2134,3245・・・(実際には12桁ですが)は先頭の数字に同一数を加えた配列という意味で同一パターンということにしており、以前は自分でパターンA,B,,,,ZZZと隣接セルに入れていたのですがパターン数か多すぎてやめました。
12桁の数字をいれて検索したときに、同一数値ではなく同一パターンの有無とそれはどんな組み合わせかを抽出する方法はあるものでしょか。
具体的な方法をご教授いただいても理解が伴わないと思いますので、これを学習してみれば、のアウトラインをお願いしたいのですが。

A 回答 (4件)

>具体的な方法をご教授いただいても理解が伴わないと思いますので、


>これを学習してみれば、のアウトラインをお願いしたいのですが。

「具体的な方法は書いて欲しくない」という意味でしょうか?

処理そのものについては、
基本的な処理を手順を踏んで積み上げていけば、
特に高度なテクニックは必要ありません。
---------------------------------------------------------------
●基本的な考え方

例えば、「同一パターンの要素群を、0で始まる要素で代表させる」ことにすれば、
同一パターンのうちで0で始まるものは一つしかありませんから、
{1023,2134,3245,4356,5467,6578,7689,8790,9801,0912}⇒「グループ0912」
{9989,0090,1101,2212,3323,4434,5545,6656,7767,8878}⇒「グループ0090」
というように、それぞれのグループを一意に表すことができます。

A列にデータが並んでおり、その中で5467と同一パターンのものを探す場合、
B列にそれぞれのデータの「代表番号」を書き出しておいて、
5467の代表番号である0912を検索するなり抽出するなりすれば良いことになります。
---------------------------------------------------------------
●代表番号の求め方

例えば、6623の代表番号は0067ですが、次のような手順で求めることができます。

1.各桁ごとにばらす
 {6,6,2,3}
2.上1桁目が0となるように、各桁から上1桁目の値を引く
 {0,0,-4,-3}
3.各桁が0~9となるように、各桁について「10を法とする剰余」をとる
 {0,0,6,7}
4.各桁を結合する
 0067
---------------------------------------------------------------
●必要な知識・スキル

数理的な側面から言えば、「剰余系」とか「代表元」といった考え方について、
触りくらいは知っておいた方が理解しやすくなるかもしれません。
(知らないとできないというわけではありませんが)

Excel数式に関して言えば、「配列数式」とか「文字列操作関数」といったトピックについて、
一通りの知識は必要かもしれません。
(セルにバラしてから処理すれば、あえて配列を使う必要はありませんが)
---------------------------------------------------------------
●具体的な方法

ネタバレ(?)になるといけないので省略します。
参考画像はランダムな12桁のデータについて、
それぞれの代表番号を数式一発で書き出したところです。
表示されない場合は↓コチラ
http://okwave.jp/qa4496885.html
---------------------------------------------------------------
●余談

同一パターンの有無を調べる、あるいは抽出するということですが、
12桁の場合、ランダムに選んだ二つのデータが同一グループである確率は一千億分の1です、念のため。

以上ご参考まで。
    • good
    • 0
この回答へのお礼

大変ご親切な回答をいただきありがとうございます。耳慣れない語句が散見され、すぐに実行には難がありそうなため段階的に学習をします。こんな方法があるということがわかっただけでも私には大変な収穫です。ご指摘のように12桁の場合、検索対象となるデータが存在する可能性は稀だと思います。さらに一歩進めて、どこか一か所あるいは二か所異なるパターンはどうだろう、を分析できるよう学習してみたいと思います。重ね重ねありがとうございました。

お礼日時:2008/11/23 12:18

#3です。



エンコードエラーで画像のアップに失敗しました。
まぁ、必須の画像というわけではないんですが、
「可能かどうか」というご質問のなので「できましたよ」という意味で。
「エクセルで異なる数字を同系のものとして扱」の回答画像4
    • good
    • 0

珍奇な問題で、エクセルとは直関係なく、数学のカテに質問すべきではない? このコーナーに投稿するのはおかしい。


数だから12桁と4桁では、もし組み合わせなどの問題だと同じ延長線では考えられなくなる。非常に鋭い数学者的なアイデアが必要になる場合が有る。
もっと4桁でも実例を丁寧に説明して、そのアルゴリズムぐらい質問者が示したら。後はエクセルでどうするかはこのコーナーの問題化も知れないが。
10+13
21+13
32+13
・・
として13の部分は1あけたの場合は何桁?
    • good
    • 0
この回答へのお礼

なにか場違いのようでした。ありがとうございました。

お礼日時:2008/11/22 20:06

9989が先頭だったら 次以降はどうなるの

この回答への補足

9989と同一パターンは、0090,1101,2212,,,,7787,8898(計10通り)であり、9989を検索入力したときに、5545や6656(先頭の数字から同一数だけ進むというか、各桁に同数を加えた組み合わせというか、配列として同一として扱いたいのです)があれば検索対象とする方法があるのかどうかが疑問点です。
例えば、3という数値を1とか2と認識するようなもので無理だろうなの感はあるのですが、言葉は文字の組み合わせだから、数字の組み合わせとして捉えるならどうなのかなとの疑問があります。

補足日時:2008/11/22 19:29
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!