皆さんの質問やその回答に感心するばかりの者です。 数字を羅列したデータ表があります。0~9が円状に配置されている考え方で、例えば1023と2134,3245・・・(実際には12桁ですが)は先頭の数字に同一数を加えた配列という意味で同一パターンということにしており、以前は自分でパターンA,B,,,,ZZZと隣接セルに入れていたのですがパターン数か多すぎてやめました。
12桁の数字をいれて検索したときに、同一数値ではなく同一パターンの有無とそれはどんな組み合わせかを抽出する方法はあるものでしょか。
具体的な方法をご教授いただいても理解が伴わないと思いますので、これを学習してみれば、のアウトラインをお願いしたいのですが。
No.3ベストアンサー
- 回答日時:
>具体的な方法をご教授いただいても理解が伴わないと思いますので、
>これを学習してみれば、のアウトラインをお願いしたいのですが。
「具体的な方法は書いて欲しくない」という意味でしょうか?
処理そのものについては、
基本的な処理を手順を踏んで積み上げていけば、
特に高度なテクニックは必要ありません。
---------------------------------------------------------------
●基本的な考え方
例えば、「同一パターンの要素群を、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です、念のため。
以上ご参考まで。
大変ご親切な回答をいただきありがとうございます。耳慣れない語句が散見され、すぐに実行には難がありそうなため段階的に学習をします。こんな方法があるということがわかっただけでも私には大変な収穫です。ご指摘のように12桁の場合、検索対象となるデータが存在する可能性は稀だと思います。さらに一歩進めて、どこか一か所あるいは二か所異なるパターンはどうだろう、を分析できるよう学習してみたいと思います。重ね重ねありがとうございました。
No.4
- 回答日時:
#3です。
エンコードエラーで画像のアップに失敗しました。
まぁ、必須の画像というわけではないんですが、
「可能かどうか」というご質問のなので「できましたよ」という意味で。
No.2
- 回答日時:
珍奇な問題で、エクセルとは直関係なく、数学のカテに質問すべきではない? このコーナーに投稿するのはおかしい。
数だから12桁と4桁では、もし組み合わせなどの問題だと同じ延長線では考えられなくなる。非常に鋭い数学者的なアイデアが必要になる場合が有る。
もっと4桁でも実例を丁寧に説明して、そのアルゴリズムぐらい質問者が示したら。後はエクセルでどうするかはこのコーナーの問題化も知れないが。
10+13
21+13
32+13
・・
として13の部分は1あけたの場合は何桁?
No.1
- 回答日時:
9989が先頭だったら 次以降はどうなるの
この回答への補足
9989と同一パターンは、0090,1101,2212,,,,7787,8898(計10通り)であり、9989を検索入力したときに、5545や6656(先頭の数字から同一数だけ進むというか、各桁に同数を加えた組み合わせというか、配列として同一として扱いたいのです)があれば検索対象とする方法があるのかどうかが疑問点です。
例えば、3という数値を1とか2と認識するようなもので無理だろうなの感はあるのですが、言葉は文字の組み合わせだから、数字の組み合わせとして捉えるならどうなのかなとの疑問があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 高校数学の質問です 文字を消去したり、置き換えたりしたら、残った文字に範囲がつくかどうか調べるという 4 2023/05/03 18:18
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- 数学 コインを投げて特定のパターンが出現する確率 5 2022/07/31 09:06
- Java Java 南京錠 2 2023/02/04 11:46
- 数学 『数学的帰納法のトリセツ』 4 2022/06/06 07:34
- Ruby 初心者プログラミング 3 2022/10/12 11:31
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Excel(エクセル) SUMIF関数について 4 2023/06/14 13:13
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
定数配列の書き方
-
C#で作成したdllをVBScriptで使...
-
vba フィルター 複数条件 3つ以...
-
C言語によるプログラミング
-
C++で作成したDLLにVBAから配列...
-
エクセルでXY座標に並べられた...
-
複数のtextboxの処理を一括で行...
-
コンボボックスのインデックス...
-
COBOLの基本的な事なので...
-
VBA 変数名に変数を使用したい。
-
RPG 配列宣言について
-
free()関数の多用 と Segment...
-
Segmentation Fault (メモリ制限?)
-
Excel2010のinputboxで複数デー...
-
EXCEL VBA 配列デー...
-
配列の中から最大値だけ取り出...
-
SPLIT関数
-
構造体配列の特定のメンバーをF...
-
dimを使わずにredimを使う場合
-
大量の変数を定義するにはどう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
vba フィルター 複数条件 3つ以...
-
Dir関数で読み取り順を操作でき...
-
エクセルでXY座標に並べられた...
-
配列の中の最大値とそのインデ...
-
VB.NETの配列にExcelから読み込...
-
定数配列の書き方
-
Excel2010のinputboxで複数デー...
-
大量の変数を定義するにはどう...
-
構造体配列の特定のメンバーをF...
-
構造体配列内の文字列検索のよ...
-
Redim とEraseの違いは?
-
Segmentation Fault (メモリ制限?)
-
OutOfMemoryExceptionの回避策...
-
VBAでMODE関数をつくる
-
COBOLの基本的な事なので...
-
Excelのメモリ(配列)の上限は2G...
-
コンボボックスのインデックス...
-
VB6のメモリ解放に関して
おすすめ情報