値が入るセル全体を下にコピーした後に検索する方法2
どなたかご存知でしたら回答をよろしくお願いします。
【質問】
下図の様に、a~r、1~10の合計180個のセルに数字が1~99迄の重複有りで
入っています。a1,a2,b1,b2,c1,c2の6つのセルで1つのマスとみなすと、
180個のセルは縦:5マス、横:6マスの合計30マスとなります。
使い方としては、
(1)複写数欄と検索値欄それぞれに値を入れます。
(2)複写数欄の数だけ、a1~r10の180個のセルを1塊りとして下にコピーする。
検索値欄の検索値も1つコピーする。
(3)コピー後に検索値欄の値でコピーした側のマス(4つのセルの集合)を塗潰す。
具体的には、
(1)1つのマスに一致した数字が1個の場合は黄色で塗り潰す。
(2)1つのマスに一致した数字が2個の場合は赤色で塗り潰す。
(3)1つのマスに一致した数字が3個の場合は緑色で塗り潰す。
(4)1つのマスに一致した数字が4個の場合は青色で塗潰す。
(5)1つのマスに一致した数字が5個の場合は紫色で塗潰す。
(6)1つのマスに一致した数字が6個の場合はオレンジ色で塗潰す。
〇例題
a b c d e f g h i j k l m n o p q r
1 02 05 07 07 14 13 15 16 17 28 22 32 33 37 91 92 93 94 95
2 03 03 07 14 13 28 99 31 23 32 31 36 32 37 81 82 83 84 85
3 05 01 07 06 15 07 20 08 26 12 27 19 32 37 71 72 73 74 79
4 04 03 08 10 10 14 12 17 24 18 30 22 37 24 61 60 54 49 48
5 08 01 13 02 16 04 25 09 28 15 34 24 36 34 50 55 52 67 99
6 01 06 05 12 18 14 22 19 23 30 26 35 28 36 41 42 43 44 45
7 02 03 04 11 06 16 20 21 25 26 29 27 31 29 51 68 75 76 77
8 07 07 08 10 09 14 17 15 18 21 19 26 20 34 96 97 88 87 66
9 07 07 10 04 11 05 18 13 27 20 28 33 30 34 86 39 38 49 62
10 07 07 16 14 19 24 24 25 27 26 33 32 35 35 54 86 87 88 78
複写数:01 ※最大1~43の数字が入る。
検索値:07 ※最大43個の数字が右に並ぶ。
【結果】
検索値:07 ※上記、検索値の左から1つずつ値を取得して下記のセルを検索する。
02 05 07 07 14 13 15 16 17 28 22 32 33 37 91 92 93 94 95
03 03 07 14 13 28 99 31 23 32 31 36 32 37 81 82 83 84 85
05 01 07 06 15 07 20 08 26 12 27 19 32 37 71 72 73 74 79
04 03 08 10 10 14 12 17 24 18 30 22 37 24 61 60 54 49 48
08 01 13 02 16 04 25 09 28 15 34 24 36 34 50 55 52 67 99
01 06 05 12 18 14 22 19 23 30 26 35 28 36 41 42 43 44 45
02 03 04 11 06 16 20 21 25 26 29 27 31 29 51 68 75 76 77
07 07 08 10 09 14 17 15 18 21 19 26 20 34 96 97 88 87 66
07 07 10 04 11 05 18 13 27 20 28 33 30 34 86 39 38 49 62
07 07 16 14 19 24 24 25 27 26 33 32 35 35 54 86 87 88 78
a11に”検索値”が1個コピーされ、
次にa1~r10までのセルの内容がa12~r22にコピーされた後、
コピーされた検索値の07で検索後に07が入った下記の6マス(36セル)が塗潰される。
検索値に07を入れたら、下記の6マス(36セル)が塗潰される。
a1,b1,c1,a2,b2,c2 ・・・ 2個一致なので、赤色で塗潰される。
d1,e1,f1,d2,e2,f2・・・ 1個一致なので、黄色で塗潰される。
a3,b3,c3,a4,b4,c4 ・・・1個一致なので、黄色で塗潰される。
d3,e3,f3,d4,e4,f4 ・・・1個一致なので、黄色で塗潰される。
a7,b7,c7,a8,b8,c8 ・・・2個一致なので、赤色で塗潰される。
a9,b9,c9,a10,b10,c10・・・4個一致なので、青色で塗潰される。
※複写数と検索値が複数件ある場合は、複写数の数だけ下にa1~r10の内容がコピーされて、
検索値の値の左側から1個ずつコピーされその値で検索される。
〇注意事項
・使用するエクセルは2010です。
・1マス=6セルです。※a1,a2,b1,b2,c1,c2で1マスです。
・セルに入っている数字はランダムで、同じ数字の重複は30マス(180セル)全体で
6個迄です(1マスに6個入る事も有るし、6マスに1個ずつ入る事もあります。)
・検索値欄に入力できる数字は最大43個で、1~43迄の数字です。
・複写数欄に入力できる数字は1~43迄の1つです。
※複写数と検索値の数は一致していない場合はエラーとして動作をSTOPします。
例1)複写数:3、検索値:2,5,4,37,18 →検索値の数と複写数が不一致。
例2)複写数:0 検索値:3 →複写数がゼロのため。
例3)複写数:1 検索値:0 →検索値がゼロのため。
※複写数分、a1~r10の180個のセルは下にコピーされ、検索値の値は左から
1つずづ使用して、実際の検索と結果としての値として使用します。
・セルの数字は表示上、2桁で表しています。(例:1ではなく01)
・この質問は先月、「値が入るセル全体を下にコピーした後に検索する方法」という
タイトルで質問させて頂いた、6セル版での質問です。
以上、よろしくお願いします。
お礼
早速の回答ありがとうございました。 まずCtrl+Shift+Enterにびっくりしました。 さらに大括弧が気になって調べたら配列数式・・・。 凄すぎて到底私の理解できるレベルではありません。 まるで異次元の世界のようで、ただただ驚くばかりです。 何はともあれ上手くいきました。 ありがとうございました。