左側数字と同じ位置の右側で数字のチェック方法は?

このQ&Aのポイント
  • 左側数字と同じ位置の右側にある数字を8方向にチェックし、条件に応じて結果を判定する方法について質問します。
  • A1~E5、G1~K5に25個の数字がランダムに入っており、同じ位置にある数字と8方向の数字を比較して結果を判定します。
  • チェック対象の数字の位置と8方向の数字を比較し、同じ数字か、上下左右斜めに同じ数字があるかを判定します。
回答を見る
  • ベストアンサー

【改造】左側数字と同じ位置の右側で数字のチェック

いつも大変お世話になっております。 皆さん、今年もよろしくお願いします。 早速ですがご存知の方いらっしゃったら回答をお願いします。 【質問】  QNo.9573241として「左側数字と同じ位置の右側で数字のチェック方法は?」という内容で質問させて頂きました。この時は、5×5が1つの場合でしたが、 今回は5×5 が4つある場合です。4つ同時にチェックして、結果を縦に並べます。      1つ目:A1~E5、G1~K5 ・・・【既存】      2つ目:A7~E11、G7~K11 ・・・【追加】      3つ目:A13~E17、G13~K17 ・・・【追加】      4つ目:A19~E23、G19~K23 ・・・【追加】 結果は下記のとおり出力します。  ・1つ目の結果は、A25から下にA1~E5までの数字25個を縦に並べて右側に載せる。  ・2つ目の結果は、C25から下にA7~E11までの数字25個を縦に並べて右側に載せる。  ・3つ目の結果は、E25から下にA13~E17までの数字25個を縦に並べて右側に載せる。  ・4つ目の結果は、G25から下にA19~E23までの数字25個を縦に並べて右側に載せる。 それ以外は、前回と同じです。 〇追加例題・・・5×5が縦に4つずつ並び、左側の数字と同じ位置の右側で数字を         チェックします。 A B C D E F G H I J K  1 11 16 18 20 31   12 18 19 22 25 2 03 04 19 26 28   03 04 26 17 28 3 02 10 17 22 29   01 10 15 29 31 4 05 06 13 21 27   02 05 13 14 16 5 01 07 12 23 25   06 08 30 23 21 6  7 07 09 11 20 21    08 11 12 20 25 8 18 19 22 24 25    09 14 22 24 30 9 04 12 26 27 28    04 13 19 26 28 10 01 03 10 15 31  02 10 15 27 31 11 02 05 13 16 29  03 06 16 21 29 12 13 12 13 18 20 31  02 13 14 20 21 14 05 07 17 26 28  03 12 17 19 28 15 08 21 22 27 29  05 22 25 26 29 16 03 10 11 14 19  09 10 11 18 31 17 01 04 06 16 24  04 07 16 24 27 18 19 02 09 15 25 30  01 06 08 15 30 20 08 22 23 27 29  05 22 23 26 29 21 10 12 14 21 31  02 10 13 18 25 22 03 06 11 16 19  07 09 11 16 31 23 01 04 09 24 30  01 04 08 24 27 *** QNo.9573241(2018/12/31) の質問内容 ***  【質問】 A1~E5、G1~K5にそれぞれ25個の1~99迄の数字がランダムに重複無しで入っています。 A1=G1、B1=H1、C1=I1、D1=J1.E1=K1、A2=G2・・・最後はE5=K5と、 A1~E5からG1~K5と同じ位置にある数字とその数字から8方向の数字と 同じ数字であれば”同じ”、8方向(上、下、左、右、左上、右上、右下、左下) に同じ数字が上にあれば”上”、下にあれば”下”、左にあれば”左”、 右にあれば”右”、左上にあれば”左上”、右上にあれば”右上” 右下にあれば”右下”、左下にあれば”左下”、 同じ数字が無ければ”無し”とA1~E5の数字をG1~K5でチェックした結果を A7から下にA1~E5までの数字25個を縦に並べて右側に載せる方法が知りたいです。 〇例題   A B C D E F G H I J K  1 11 16 18 20 31   12 18 19 22 25 2 03 04 19 26 28   03 04 26 17 28 3 02 10 17 22 29   01 10 15 29 31 4 05 06 13 21 27   02 05 13 14 16 5 01 07 12 23 25   06 08 30 23 21 〇結果 とその説明 11:無し ※G1に11があるとみなすと、そもそもG1には12、8方向は03,04,18なので       "無し”。 16:無し ※H1に16があるとみなすと、そもそもH1には18、8方向は12,03,04,26,19       なので、無し”。 18:左  ※I1に18があるとみなすと、そもそもI1には19、8方向は18,04,26,17,22       なので、”左”。 20:無し ※J1に20があるとみなすと、そもそもJ1には22、8方向は19,26,17,28,25       なので、”無し”。 31:無し ※K1に31があるとみなすと、そもそもK1には25、8方向は22,17,28なので、       ”無し”。 03:同じ ※G2に03があるとみなすと、そもそもG2には03、8方向は12,18,04,10,01       なので、”同じ”。 04:同じ ※H2に04があるとみなすと、そもそもH2には04、8方向12,18,19,26,15,10,       01,03なので、”同じ”。 19:上  ※I2に19があるとみなすと、そもそもI2には26、8方向は18,19,22,17,29,15,       10,04なので、”上”。 26:左  ※J2に26があるとみなすと、そもそもJ2には17、8方向19,22,25,28,31,29,15,       26なので、”左”。 28:同じ ※K2に28があるとみなすと、そもそもK2には28、8方向は25,22,17,29,31       なので、”同じ”。 02:下  ※G3に02があるとみなすと、そもそもG3には01、8方向は03,04,10,05,02       なので、”下”。 10:同じ ※H3に10があるとみなすと、そもそもH3には10、8方向03,04,26,15,13,03,       02,01なので、”同じ”。 17:右上 ※I3に17があるとみなすと、そもそもI3には15、8方向は04,26,17,29,14,13,       05,10なので、”右上”。 22:無し ※J3に22があるとみなすと、そもそもJ3には29、8方向26,17,28,31,16,14,13,       15なので、”無し”。 29:左  ※K3に29があるとみなすと、そもそもK3には31、8方向は28,17,29,14,16       なので、”無し”。 05:右  ※G4に05があるとみなすと、そもそもG4には02、8方向は01,10,05,08,05       なので、”右”。 06:左下 ※H4に06があるとみなすと、そもそもH4には05、8方向01,10,15,13,30,08,       06,02なので、”左下”。 13:同じ ※I4に13があるとみなすと、そもそもI4には13、8方向は10,15,29,14,23,30,       08,05なので、”同じ”。 21:右下 ※J4に21があるとみなすと、そもそもJ4には14、8方向15,29,31,16,21,23,30,       13なので、”右下”。 27:無し ※K4に27があるとみなすと、そもそもK4には16、8方向は31,29,14,23,21       なので、”無し”。 01:無し ※G5に01があるとみなすと、そもそもG5には06、8方向は02,05,08なので、       ”無し”。   07:無し ※H5に07があるとみなすと、そもそもH5には08、8方向は06,02,05,13,30       なので、”無し”。 12:無し ※I5に12があるとみなすと、そもそもI5には30、8方向は08,05,13,14,23       なので、”無し”。 23:同じ ※J5に23があるとみなすと、そもそもJ5には23、8方向は30,13,14,16,21       なので、”同じ”。 25:無し ※K5に25があるとみなすと、そもそもK5には21、8方向は16,14,23なので       ”無し”。 〇注意事項  ・使用するエクセルは2010です。  ・セルの数字は表示上、2桁で表しています。(例:1ではなく01)  ・セルの数字は毎回、ランダムに変わります。 以上、よろしくお願いします。

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.5

QNo.9573241の延長でよければ、以下です。 Option Explicit Sub HikakuMain()  Hikaku 0, 24  Hikaku 30, 54  Hikaku 60, 84  Hikaku 90, 114 End Sub Sub Hikaku(ST As Long, EN As Long)  Dim MyRow1 As Long  Dim MyCol1 As Long  Dim MyRow2 As Long  Dim MyCol2 As Long  Dim MyLCnt As Long  Dim Rng1 As Range  Dim Rng2 As Range   For MyLCnt = ST To EN   MyRow1 = Int(MyLCnt / 5) + 1   MyCol1 = MyLCnt Mod 5 + 1   MyRow2 = Int(MyLCnt / 5) + 1   MyCol2 = MyLCnt Mod 5 + 1 + 6   With ThisWorkbook.Sheets(1)    Set Rng1 = .Cells(MyRow1, MyCol1)    Set Rng2 = .Cells(MyRow2, MyCol2)    .Cells((MyLCnt Mod 30) + 25, Int(MyLCnt / 30) * 2 + 1).Value = _     .Cells(MyRow1, MyCol1).Value    .Cells((MyLCnt Mod 30) + 25, Int(MyLCnt / 30) * 2 + 2).Value = _     getHIkaku(Rng1, Rng2)   End With  Next MyLCnt End Sub Function getHIkaku(Rng1 As Range, Rng2 As Range) As String   getHIkaku = "無し"   If Rng2.Row <> 1 Then   If Rng2.Column <> 1 Then    If Rng1.Value = Rng2.Offset(-1, -1).Value Then     getHIkaku = "左上"     Exit Function    End If   End If      If Rng1.Value = Rng2.Offset(-1, 0).Value Then    getHIkaku = "上"    Exit Function   End If      If Rng1.Value = Rng2.Offset(-1, 1).Value Then    getHIkaku = "右上"    Exit Function   End If  End If     If Rng2.Column <> 1 Then   If Rng1.Value = Rng2.Offset(0, -1).Value Then    getHIkaku = "左"    Exit Function   End If  End If   If Rng1.Value = Rng2.Offset(0, 0).Value Then   getHIkaku = "同じ"   Exit Function  End If   If Rng1.Value = Rng2.Offset(0, 1).Value Then   getHIkaku = "右"   Exit Function  End If   If Rng2.Column <> 1 Then   If Rng1.Value = Rng2.Offset(1, -1).Value Then    getHIkaku = "左下"    Exit Function   End If  End If     If Rng1.Value = Rng2.Offset(1, 0).Value Then   getHIkaku = "下"   Exit Function  End If     If Rng1.Value = Rng2.Offset(1, 1).Value Then   getHIkaku = "右下"   Exit Function  End If End Function

moguo4649
質問者

お礼

ずーっと、「回答こないかなー」と待ってました。 頂いた回答で実際にやってみてドンピシャでした。 ありがとうございました。

その他の回答 (5)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.6

>1つ目の検索結果は、”A25から下にA1~E5までの数字25個を縦に並べて右側に検索結果を載せる。 関数でも出来ないことはありませんが作業用シートを使い複雑な数式を使わなければなりませんのでVBAを使うことがベターかと思います。 既に回答が出たようなので質問は終了ですよね? 蛇足ですが、あなたの技量では処理不可と思われますのでプログラマーに有償で依頼することをご検討ください。

moguo4649
質問者

お礼

ありがとうございました。 また、お知恵をお借りする事があればよろしくお願いします。

  • SI299792
  • ベストアンサー率48% (715/1480)
回答No.4

わざとわからないように質問して違うと言う。回答者いじめですか。 こう出してほしいという、図を載せるべきです。 A25から縦1列に出すのですか。こうですか? ' Option Explicit ' Sub Macro1() '   Dim Table As Variant   Dim Cell1 As Range   Dim Cell2 As Range   Dim Index As Integer   Dim Row As Integer '   [A25:A127].ClearContents   Table = Array("左上", "上", "右上", "左", "同じ", "右", "左下", "下", "右下", "無し")   [1:1].Insert   Row = 26 '   For Each Cell1 In [A2:E24] '     If Cell1 > "00" Then       Index = 0 '       For Each Cell2 In Cell1.Offset(-1, 5).Resize(3, 3) '         If Cell1 = Cell2 Then           Exit For         End If         Index = Index + 1       Next Cell2       Cells(Row, "A") = Cell1 & ":" & Table(Index)       Row = Row + 1       Index = 1     Else       Row = Row + Index       Index = 0     End If   Next Cell1   [1:1].Delete End Sub

moguo4649
質問者

お礼

頂いた回答を実際にやってみました。 結果表示としてやりたかった事になりました。 言葉で書くと伝わりにくい所がでてくるので図で示した方が良いときがありますね。 今後は、図の事も考えて質問します。 ありがとうございました。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

>「左上」、「上」、「右上」が付かないと目的の達成ができません。 >またよろしくお願いします。 誤解していませんか? 1つの数式を対象範囲に適用する方法ではG1の上方3セルが無いのでF1:H2の6セルと比較することになるので、G2セルの場合と異なる数式を使わなければならないということです。 Sheetの1行目をタイトル行として比較対象を2行目以降にすれば1つの数式を対象範囲にコピーすることで目的達成できます。 添付画像のM2セルへ次の数式を入力します。 =IFERROR(INDEX($S$2:$U$4,MOD(MAX(INDEX((F1:H3=A2)*(COLUMN($A$1:$C$3)*100+ROW($A$1:$C$3)),0,0)),100),INT(MAX(INDEX((F1:H3=A2)*(COLUMN($A$1:$C$3)*100+ROW($A$1:$C$3)),0,0))/100)),"") M2セルをコピーでクリップボードへ記憶させて、M2:Q6へ貼り付けます。 次にM2:Q6セルをコピーでクリップボードへ記憶させて、M8セルへ貼り付けます。 更に、M14とM20へ貼り付ければ添付画像が仕上がります。

moguo4649
質問者

補足

失礼しました。 頂いた回答をよく理解してませんでした。 実際にエクセルで試したところ、貼って頂いた回答どおりとなりました。 ”空白”は”検索結果無し”の事ですね。 質問文の書き方が悪いのかもしれませんが、 質問文での期待する回答と頂いた回答結果が少し違います。 質問文での期待する回答は下記のとおりです。 1つ目の検索結果は、”A25から下にA1~E5までの数字25個を縦に並べて右側に検索結果を載せる。”ですので、 下記のようになるかと思います。 11:空白 03:中央 02:空白 05:下 01:右 16:空白 04:中央   :   : 以下、E5までの数字と検索結果が続く。 2つ目~4つ目の5×5の結果は同様に以下のとおりに載せたいです。  ・2つ目の検索結果は、C25から下にA7~E11までの数字25個を縦に並べて右側に検索結果を載せる。  ・3つ目の検索結果は、E25から下にA13~E17までの数字25個を縦に並べて右側に検索結果を載せる。  ・4つ目の検索結果は、G25から下にA19~E23までの数字25個を縦に並べて右側に検索結果を載せる。 今頂いた回答の左側に検索した数字を載せる方法でもよいです。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.2

添付画像のような結果で良いのでしょうか? データの1行目が上の行が無いので「左上」、「上」、「右上」が検出できません。 従って、関数で処理するには1行目のみ特例になります。 A7セルへ次の数式を設定して右へコピーします。 =IFERROR(INDEX($M$1:$O$3,MOD(MAX(INDEX((F1:H2=A1)*(COLUMN($A$2:$C$3)*100+ROW($A$2:$C$3)),0,0)),100),INT(MAX(INDEX((F1:H2=A1)*(COLUMN($A$2:$C$3)*100+ROW($A$2:$C$3)),0,0))/100)),"") A8セルに次の数式を設定して右と下へコピーします。 =IFERROR(INDEX($M$1:$O$3,MOD(MAX(INDEX((F1:H3=A2)*(COLUMN($A$1:$C$3)*100+ROW($A$1:$C$3)),0,0)),100),INT(MAX(INDEX((F1:H3=A2)*(COLUMN($A$1:$C$3)*100+ROW($A$1:$C$3)),0,0))/100)),"")

moguo4649
質問者

お礼

新年早々、回答頂きありがとうございます。 >データの1行目が上の行が無いので「左上」、「上」、「右上」が検出できません。 >従って、関数で処理するには1行目のみ特例になります。 「左上」、「上」、「右上」が付かないと目的の達成ができません。 またよろしくお願いします。

  • SI299792
  • ベストアンサー率48% (715/1480)
回答No.1

このように質問が多いので、かすを増やした場合の改造点も挙げておきます。 ' Option Explicit ' Sub Macro1() '   Dim Table As Variant   Dim Cell1 As Range   Dim Cell2 As Range   Dim Index As Integer '   Table = Array("左上", "上", "右上", "左", "中央", "右", "左下", "下", "右下", "無し")   [1:1].Insert '   For Each Cell1 In [A2:E24] '    ここで範囲指定をする。実際の範囲より1段下を指定。     Index = 0     If Cell1 > "00" Then '       For Each Cell2 In Cell1.Offset(-1, 5).Resize(3, 3) '        ここの5が横の数字がいくつあるか         If Cell1 = Cell2 Then           Exit For         End If         Index = Index + 1       Next Cell2       Cell1.Offset(24) = Table(Index) ' ここの24で、結果を24桁下に表示     End If   Next Cell1 '   [1:1].Delete End Sub

moguo4649
質問者

補足

新年早々、早速の回答頂きありがとうございます。 今年もよろしくお願いします。 そして、私の質問パターンを考慮してソースにコメント文までつけて頂きありがとうございます。 そんな中、大変恐縮ですが、質問文での期待する回答と頂いた回答結果が少し違います。 質問文での期待する回答は下記のとおりです。 1つ目の検索結果は、”A25から下にA1~E5までの数字25個を縦に並べて右側に検索結果を載せる。”ですので、 下記のようになるかと思います。 11:無し 3:中央 2:無し 5:下 1:右 16:無し 4:中央   :   : 以下、E5まで続く。 2つ目~4つ目の5×5の結果は同様に以下のとおりに載せたいです。  ・2つ目の検索結果は、C25から下にA7~E11までの数字25個を縦に並べて右側に検索結果を載せる。  ・3つ目の検索結果は、E25から下にA13~E17までの数字25個を縦に並べて右側に検索結果を載せる。  ・4つ目の検索結果は、G25から下にA19~E23までの数字25個を縦に並べて右側に検索結果を載せる。 今頂いた回答の左側に検索した数字を載せる方法でもよいです。

関連するQ&A

  • 左側数字と同じ位置の右側で数字のチェック方法は?

    いつも大変お世話になっております。 ご存知の方はぜひ回答をよろしくお願い致します。 【質問】 A1~E5、G1~K5にそれぞれ25個の1~99迄の数字がランダムに重複無しで入っています。 A1=G1、B1=H1、C1=I1、D1=J1.E1=K1、A2=G2・・・最後はE5=K5と、 A1~E5からG1~K5と同じ位置にある数字とその数字から8方向の数字と 同じ数字であれば”同じ”、8方向(上、下、左、右、左上、右上、右下、左下) に同じ数字が上にあれば”上”、下にあれば”下”、左にあれば”左”、 右にあれば”右”、左上にあれば”左上”、右上にあれば”右上” 右下にあれば”右下”、左下にあれば”左下”、 同じ数字が無ければ”無し”とA1~E5の数字をG1~K5でチェックした結果を A7から下にA1~E5までの数字25個を縦に並べて右側に載せる方法が知りたいです。 〇例題   A B C D E F G H I J K  1 11 16 18 20 31   12 18 19 22 25 2 03 04 19 26 28   03 04 26 17 28 3 02 10 17 22 29   01 10 15 29 31 4 05 06 13 21 27   02 05 13 14 16 5 01 07 12 23 25   06 08 30 23 21 〇結果 とその説明 11:無し ※G1に11があるとみなすと、そもそもG1には12、8方向は03,04,18なので       "無し”。 16:無し ※H1に16があるとみなすと、そもそもH1には18、8方向は12,03,04,26,19       なので、無し”。 18:左  ※I1に18があるとみなすと、そもそもI1には19、8方向は18,04,26,17,22       なので、”左”。 20:無し ※J1に20があるとみなすと、そもそもJ1には22、8方向は19,26,17,28,25       なので、”無し”。 31:無し ※K1に31があるとみなすと、そもそもK1には25、8方向は22,17,28なので、       ”無し”。 03:同じ ※G2に03があるとみなすと、そもそもG2には03、8方向は12,18,04,10,01       なので、”同じ”。 04:同じ ※H2に04があるとみなすと、そもそもH2には04、8方向12,18,19,26,15,10,       01,03なので、”同じ”。 19:上  ※I2に19があるとみなすと、そもそもI2には26、8方向は18,19,22,17,29,15,       10,04なので、”上”。 26:左  ※J2に26があるとみなすと、そもそもJ2には17、8方向19,22,25,28,31,29,15,       26なので、”左”。 28:同じ ※K2に28があるとみなすと、そもそもK2には28、8方向は25,22,17,29,31       なので、”同じ”。 02:下  ※G3に02があるとみなすと、そもそもG3には01、8方向は03,04,10,05,02       なので、”下”。 10:同じ ※H3に10があるとみなすと、そもそもH3には10、8方向03,04,26,15,13,03,       02,01なので、”同じ”。 17:右上 ※I3に17があるとみなすと、そもそもI3には15、8方向は04,26,17,29,14,13,       05,10なので、”右上”。 22:無し ※J3に22があるとみなすと、そもそもJ3には29、8方向26,17,28,31,16,14,13,       15なので、”無し”。 29:無し ※K3に29があるとみなすと、そもそもK3には31、8方向は28,17,29,14,16       なので、”無し”。 05:右  ※G4に05があるとみなすと、そもそもG4には02、8方向は01,10,05,08,05       なので、”右”。 06:左下 ※H4に06があるとみなすと、そもそもH4には05、8方向01,10,15,13,30,08,       06,02なので、”左下”。 13:同じ ※I4に13があるとみなすと、そもそもI4には13、8方向は10,15,29,14,23,30,       08,05なので、”同じ”。 21:右下 ※J4に21があるとみなすと、そもそもJ4には14、8方向15,29,31,16,21,23,30,       13なので、”右下”。 27:無し ※K4に27があるとみなすと、そもそもK4には16、8方向は31,29,14,23,21       なので、”無し”。 01:無し ※G5に01があるとみなすと、そもそもG5には06、8方向は02,05,08なので、       ”無し”。   07:無し ※H5に07があるとみなすと、そもそもH5には08、8方向は06,02,05,13,30       なので、”無し”。 12:無し ※I5に12があるとみなすと、そもそもI5には30、8方向は08,05,13,14,23       なので、”無し”。 23:同じ ※J5に23があるとみなすと、そもそもJ5には23、8方向は30,13,14,16,21       なので、”同じ”。 25:無し ※K5に25があるとみなすと、そもそもK5には21、8方向は16,14,23なので       ”無し”。 〇注意事項  ・使用するエクセルは2010です。  ・セルの数字は表示上、2桁で表しています。(例:1ではなく01)  ・セルの数字は毎回、ランダムに変わります。 以上、よろしくお願いします。

  • 左側で塗潰したセルと同じ位置にある右側セルを塗潰す

    どなかたご存知でしたらご回答をよろしくお願いします。 【質問】 下記、入力欄に5つ任意の数字を入力すると、 A1~E5のセルに入っている数字と同じ数字を見つけたら、 条件付き書式で赤に塗潰し、潰された左側のセルと同じ位置 のセルを青色で塗潰すにはどうすればできますか? ※下記の説明  9、13、17、22、23を入力すると、 左側のA1~E5の間で同じ数字を探し、 B1(9)、C1(23)、C5(13)、D3(22)のセルを赤色で塗潰します。 右側のG1~K5では、入力値と同じ数字を塗潰すのではなく、 左側と同じ位置となるセルのH1(6)、I1(11)、I5(18)、J3(17) を青色で塗潰します。 入力: 9 13 17 22 23    左側        右側 A B C D  E   G H I J K 3 9 23 25 26  3 6 11 25 26 6 8 11 12 15  9 12 14 15 23 14 16 20 22 29 2 5 16 17 31 1 2 28 30 31  1 4 22 28 30 4 7 13 18 19  10 13 18 19 21 〇注意事項  ・入力および、A1~E5、G1~K5の数字は任意です。  ・使用するエクセルは2010です。 以上、よろしくお願いします。     

  • 【改造】検索値と一緒に出ている隣接数字を知るには?

    いつもお世話になっております。 どかたかご存知でしたら回答をお願いします。 1ケ月程前に下記の質問をさせていただきました。 そして回答を頂きました。これを改造したく質問します。 尚、5×6マス以外に、5×5マス、5×7マスへの改造方法も教えて頂けると助かります。 ◆改造(付け加える)要件・・・下記以外は前回と同じです。  (3)コピー後に検索値欄の値でコピーした側の4つの5×6のセル内を検索して塗潰す。   具体的には、  (1)検索値と同じ値を見つけたら、黄色でセルを塗潰す。【既存】  (2)検索値と同じ値で隣接する8方向(上、下、左、右、右下、左下、右上、左上)   の数字との差が0か1なら、検索値とそのセルを赤色で塗潰す。【既存】  (3)検索値と同じ値で隣接する8方向(上、下、左、右、右下、左下、右上、左上)   の数字が全て同じなら、青く塗り潰す。【追加】 〇例題  A B C D E F G H I J K L M 1 01 11 16 26 31 40  08 15 21 25 30 35 2 02 03 06 17 27 41  01 11  26  28 31 36 3 04 09 12 19 22 42  02 03  06  16 17 37 4 05 13 14 23 29 43  04 09  12  22 27 38 5 07 10 18 20 24 27  05 13  19  23 29 39 6 7 04 13 16 30 31 33  05 08 20 22 26 37 8 02 15 17 24 29 34  01 03 07 18 19 38 9 01 03 07 19 25 35  04 12 14 16 25 39 10 11 12 14 21 27 36  10  11 21 23 27 40 11 06 09 10 23 28 37  06  08 09 20 28 41 複写数:01 ※最大1~43の数字が入る。 検索値:01 ※最大43個の数字が右に並ぶ。 〇結果  A1、H2、A9、H8:01が黄色で塗潰される。  A2、H3、A8   :02が赤色で塗潰される。  B2、I3、B9、I8 :03が青色で塗潰される。 〇青色を塗潰す説明  A1にある01の隣接数字は小さい順に、02、03、11  H2にある01の隣接数字は小さい順に、02、03、08、11、15  A9にある01の隣接数字は小さい順に、02、03、11、12、15  H8にある01の隣接数字は小さい順に、03、04、05、08、12  01が見つかった4か所全てに出現している隣接数字は03なので03を青色で塗潰す。  逆に03を検索値とした場合は、  B2にある03接数字は小さい順に、01、02、04、06、09、11、12、16  I3にある03隣接数字は小さい順に、01、02、04、06、09、11、12、26  B9にある03隣接数字は小さい順に、01、02、07、11、12、14、15、17  I8にある0の隣接数字は小さい順に、01、04、05、07、08、12、14、20  03が見つかった4か所全てに出現している隣接数字は01、12なので、  01、12を青色で塗潰す。 ****2018/11/21の質問の内容**** 【質問】 例題の様に5×6マスが4つあり、その中を1~43の数字が重複有りで入っています。  1つ目の5×6マス:A1~F5  2つ目の5×6マス:H1~M5  3つ目の5×6マス:A7~F11  4つ目の5×6マス:H7~M11 使い方としては、  (1)複写数欄と検索値欄それぞれに値を入れます。  (2)複写数欄の数だけ、上記4つの5×6のセルを1塊りとして下にコピーする   (最大:43)。   検索値欄の検索値も1つコピーする。  (3)コピー後に検索値欄の値でコピーした側の4つの5×6のセル内を検索して塗潰す。   具体的には、   (1)検索値と同じ値を見つけたら、黄色でセルを塗潰す。   (2)検索値と同じ値で隣接する8方向(上、下、左、右、右下、左下、右上、左上)     の数字との差が0か1なら、検索値とそのセルを赤色で塗潰す。 〇例題   A B C D E F  G H I J K L M  1 06 21 23 36 37 43  01 08 16 31 35 41 2 07 12 14 23 32 43  06 10 13 20 27 32 3 09 17 20 29 42 40  02 15 18 30 34 38 4 03 05 13 25 27 41  01 09 25 30 42 43 5 04 11 22 28 35 39  11 16 18 24 29 42 6 7 03 17 27 36 40 41  07 21 22 23 33 37 8 03 04 08 24 26 39  02 03 07 14 18 38 9 10 12 22 32 37 42  05 10 13 40 41 42 10 02 09 25 32 41 42  07 13 22 40 41 42 11 08 14 23 24 30 39  03 29 31 40 41 42 複写数:01 ※最大1~43の数字が入る。 検索値:41 ※最大43個の数字が右に並ぶ。 〇結果  M1:41が黄色で塗潰される。  E3、F3、F4 :40、41、42が赤色で塗潰される。  E7、F7   :40、41が赤色で塗潰される。   F9、E10、F10:41、42、42が赤色で塗潰される。   K9、L9、M9、K10、L10、M10、K11、L11、M11:40、41、42が赤色で塗潰される。 〇注意事項  ・使用するエクセルは2010です。  ・セルの数字は表示上、2桁で表しています。(例:1ではなく01)  ・検索値欄に入力できる数字は最大43個で、1~43迄の数字です。  ・複写数欄に入力できる数字は1~43迄の1つです。 以上、よろしくお願いします。

  • 【改造】検索値と一緒に出ている隣接数字を知るには2

    いつもお世話になっております。 どかたかご存知でしたら回答をお願いします。 ここ最近、同じ様な質問をしておりますが、よろしくお願いします。 ◆改造(付け加える)要件・・・下記以外は前回と同じです。  (3)コピー後に検索値欄の値でコピーした側の4つの5×6のセル内を検索して塗潰す。   具体的には、  (1)検索値と同じ値を見つけたら、黄色でセルを塗潰す。【既存】  (2)検索値と同じ値で隣接する8方向(上、下、左、右、右下、左下、右上、左上)   の数字との差が0か1なら、検索値とそのセルを赤色で塗潰す。【既存】  (3)検索値と同じ値で隣接する8方向(上、下、左、右、右下、左下、右上、左上)   の数字が全て同じなら、青く塗り潰す。【既存】  (4)検索値と同じ値で隣接する8方向(上、下、左、右、右下、左下、右上、左上)   の数字が1ヶ所を除いて全て同じなら、緑色で塗り潰す。【追加】 〇例題  A B C D E F G H I J K L M 1 01 11 16 26 31 40  08 15 21 25 30 35 2 02 03 06 17 27 41  01 11 26 28 31 36 3 04 09 12 19 22 42  02 03 06 16 17 37 4 05 13 14 23 29 43  04 09 12 22 27 38 5 07 10 18 20 24 27  05 13 19 23 29 39 6 7 04 13 16 30 31 33  05 08 20 22 26 37 8 02 15 17 24 29 34  01 03 07 18 19 38 9 01 03 07 19 25 35  04 12 14 16 25 39 10 11 12 14 21 27 36  10 11 21 23 27 40 11 06 09 10 23 28 37  06 08 09 20 28 41 複写数:01 ※最大1~43の数字が入る。 検索値:01 ※最大43個の数字が右に並ぶ。 〇結果  A1、H2、A9、H8:01が黄色で塗潰される。  A2、H3、A8   :02が赤色となる筈だが、3ヶ所で出ているので緑色で塗潰す。  B2、I3、B9、I8 :03が青色で塗潰される。   B1、I2、A10   :11が緑色で塗潰される。  〇青色、緑色で塗潰す説明  A1にある01の隣接数字は小さい順に、02、03、11  H2にある01の隣接数字は小さい順に、02、03、08、11、15  A9にある01の隣接数字は小さい順に、02、03、11、12、15  H8にある01の隣接数字は小さい順に、03、04、05、08、12  01が見つかった4か所全てに出現している隣接数字は03なので03を青色で塗潰す。  01が見つかった3か所全てに出現している隣接数字は02と11なので、  02と11を緑色で塗潰す。  ※02は本来、01の差:1のため赤色となるが、緑色の条件にも当てはまるため最終的に  緑色で塗潰す。(青色の条件に当てはまった場合も緑色の条件にも当てはまれば最終的に  緑色で塗潰す。)  逆に03を検索値とした場合は、  B2にある03接数字は小さい順に、01、02、04、06、09、11、12、16  I3にある03隣接数字は小さい順に、01、02、04、06、09、11、12、26  B9にある03隣接数字は小さい順に、01、02、07、11、12、14、15、17  I8にある0の隣接数字は小さい順に、01、04、05、07、08、12、14、20  03が見つかった4か所全てに出現している隣接数字は01、12なので、  01、12を青色で塗潰す。  03が見つかった3か所全てに出現している隣接数字は02、04、11、なので、  02、04、11を緑色で塗潰す。 ****2018/11/21の質問の内容**** 【質問】 例題の様に5×6マスが4つあり、その中を1~43の数字が重複有りで入っています。  1つ目の5×6マス:A1~F5  2つ目の5×6マス:H1~M5  3つ目の5×6マス:A7~F11  4つ目の5×6マス:H7~M11 使い方としては、  (1)複写数欄と検索値欄それぞれに値を入れます。  (2)複写数欄の数だけ、上記4つの5×6のセルを1塊りとして下にコピーする   (最大:43)。   検索値欄の検索値も1つコピーする。  (3)コピー後に検索値欄の値でコピーした側の4つの5×6のセル内を検索して塗潰す。   具体的には、   (1)検索値と同じ値を見つけたら、黄色でセルを塗潰す。   (2)検索値と同じ値で隣接する8方向(上、下、左、右、右下、左下、右上、左上)     の数字との差が0か1なら、検索値とそのセルを赤色で塗潰す。 〇例題   A B C D E F  G H I J K L M  1 06 21 23 36 37 43  01 08 16 31 35 41 2 07 12 14 23 32 43  06 10 13 20 27 32 3 09 17 20 29 42 40  02 15 18 30 34 38 4 03 05 13 25 27 41  01 09 25 30 42 43 5 04 11 22 28 35 39  11 16 18 24 29 42 6 7 03 17 27 36 40 41  07 21 22 23 33 37 8 03 04 08 24 26 39  02 03 07 14 18 38 9 10 12 22 32 37 42  05 10 13 40 41 42 10 02 09 25 32 41 42  07 13 22 40 41 42 11 08 14 23 24 30 39  03 29 31 40 41 42 複写数:01 ※最大1~43の数字が入る。 検索値:41 ※最大43個の数字が右に並ぶ。 〇結果  M1:41が黄色で塗潰される。  E3、F3、F4 :40、41、42が赤色で塗潰される。  E7、F7   :40、41が赤色で塗潰される。   F9、E10、F10:41、42、42が赤色で塗潰される。   K9、L9、M9、K10、L10、M10、K11、L11、M11:40、41、42が赤色で塗潰される。 〇注意事項  ・使用するエクセルは2010です。  ・セルの数字は表示上、2桁で表しています。(例:1ではなく01)  ・検索値欄に入力できる数字は最大43個で、1~43迄の数字です。  ・複写数欄に入力できる数字は1~43迄の1つです。 以上、よろしくお願いします。

  • 8方向の数字間差が指定の間差と同じ場合に塗り潰す2

    いつもお世話になっております。 どなたかご存知の方がおられましたら回答をよろしくお願い致します。 【質問】  添付図のとおり、A1~G15、I1~O15迄1~99迄の数字が重複在りで入って  います。Q1に”数字間差”としてR1に数字間差を指定します。  A1のセルの数字から右側順番に8方向に隣り合う数字との差がR1に指定した  数字間差と一致した場合にセルを黄色に塗り潰す方法が知りたいです。  ※上記質問はNo.9644367の質問です。  【追加質問】   上記で黄色に塗りつぶしたセルの数字を左枠の塗潰し数字はQ4~AJ9、   右枠の塗潰し数字はQ11~AJ16の範囲に左から順番に並べる方法が知り   たいです。 〇塗りつぶしの例1(添付図参照)※No.9644367の質問の例題です。  A1:1の場合、隣り合う8方向の数字としては、B1、A2、B2の3つしか  無く、B1-A1、A2-A1、B2-A1としても数字間差の7にはならないため  塗りつぶしは無い。 〇塗りつぶしの例2(添付図参照))※No.9644367の質問の例題です。  J5:6の場合、隣り合う8方向の数字としては、I4、J4、K4、I5、  I6、J6、K6、K5の8つあり。I4-J5、J4-J5、K4-J5、  I5-J5、I6-J5、J6-J5、K6-J5、K5-J5で数字間差が7となる  K5、I6が黄色く塗り潰される。 【注意事項】  ・使用するエクセルは2016です。  ・数字間差で指定するのは1~99迄です。 以上、よろしくお願いします。

  • 左側のセルの塗潰しを右側で模写するには?

    どなかたご存知でしたらご回答をよろしくお願いします。 ●質問 A1~E10迄の【左側】のセルと、F1~J10迄の【右側】のセルがあるとします。 文字で書きますが、【左側】のB1、C1、D1のセルが”青”で塗潰しされている場合、 【右側】のG1、H1、I1セルも同様に”青”で塗潰すには、条件付き書式をどのように設定すればよいですか?尚、【左側】のA3~E3が何も塗潰されてない場合は、【右側】のF3~J3の塗潰しは行いません。   【左側】        【右側】  A B C D  E   F  G  H  I  J 1  青 青 青      青 青 青 2  青 青 青      青 青 青 3                 4  青 青        青 青 5 青 青 青 青    青 青 青 青 6  青 青 青 青    青 青 青 青 7  8  青 青 青 青    青 青 青 青 9  青 青        青 青 10       ●注意事項  ・使用するエクセルは2010です。 以上、よろしくお願いします。         

  • 変数を左から昇順に並べる方法

    どなたかご存知でしたらご教授願います。 【質問】 下記の様にA1~J1までに重複しない数字が入っています。 2行下には上の10個の数字から任意の5個の数字を取る様にします。 取った任意の数字を右側に左から昇順に並べたい。 A B C D E F G H I J 5 10 11 7 6 3 32 20 21 43 -------------------------------------   左から昇順に並べたい。 5 10 11 7 6 × × × × ×   → 5 7 6 10 11 × × 11 7 6 × × 20 21 ×  → 6 7 11 20 21 × × × × × 3 32 20 21 43  → 3 20 21 32 43      : 以下、5組の数字を作る。 【注意事項】  ・入力した10個の数字の下段では5個の数字を取得しますが、   下のセルには、5、10、11、7、6なら、   =A1、=B1、=C1、=D1、=E1と入ってます。   尚、×はセルに直接入ってます。  ・使用するエクセルは2010です。  ・A1~J1までは、1~99までの数字が重複無しで入ります。 以上、よろしくお願いします。

  • 8方向の数字間差が指定した間差と同じ場合に塗り潰す

    いつもお世話になっております。 どなたかご存知の方がおられましたら回答をよろしくお願い致します。 【質問】  添付図のとおり、A1~G15、I1~O15迄1~99迄の数字が重複在りで入って  います。Q1に”数字間差”としてR1に数字間差を指定します。  A1のセルの数字から右側順番に8方向に隣り合う数字との差がR1に指定した  数字間差と一致した場合にセルを黄色に塗り潰す方法が知りたいです。 〇塗りつぶしの例1(添付図参照)  A1:1の場合、隣り合う8方向の数字としては、B1、A2、B2の3つしか  無く、B1-A1、A2-A1、B2-A1としても数字間差の7にはならないため  塗りつぶしは無い。 〇塗りつぶしの例2(添付図参照)  J5:6の場合、隣り合う8方向の数字としては、I4、J4、K4、I5、  I6、J6、K6、K5の8つあり。I4-J5、J4-J5、K4-J5、  I5-J5、I6-J5、J6-J5、K6-J5、K5-J5で数字間差が7となる  K5、I6が黄色く塗り潰される。 【注意事項】  ・使用するエクセルは2016です。  ・数字間差で指定するのは1~99迄です。 以上、よろしくお願いします。

  • 同じ値を同じ行×列で見つけた場合のセルの塗潰しは?

    どなたかご存知でしたらご回答よろしくお願いします。 ●質問 下記の様に、前回数字、今回数字として10行×5列の中にそれぞれ 1~31迄の数字が重複ありで入っています。 【前回数字】の1 4 5 9 12の1はセルのA1、 1 8  15 25 26の26はE10とします。 【今回数字】の4 5 9 12 16の4はセルのG1、 5 13 14 23 28の28はK10とします。 A1=G1、B2=H2・・・D10=G10、E10=K10とそれぞれの値が同じかチェックを 行い、等しい場合(例:29(E3=K3)、18(B4=H4)、21(C4=I4)、22(D4=J4)・・・)には、【今回数字】側のセル(K3、H4、I4、J4・・・)を 塗潰し、塗潰したセルを起点として8方向(上、右、左、下、右上、左上、左下、右下)のセル塗潰す方法が知りたいです。   【前回数字】    【今回数字】  1  4 5 9 12   4  5  9  12  16  2  3 6 8 27   3  25 26  27  28  10 14 15 28 29  8  10 11  14  29  16 18 21 22 26  15  18 21  22  23  7 11 13 24 25   1  2  6  7  13  2  5 7 10 16   1  8  9  15  25  3 11 12 18 28   2  10  12  18  26  6  9 13 21 29   3  6  11  16  21  4 14 22 24 27   4  7  22  27  29  1  8 15 25 26   5  13 14  23  28  ●注意事項  ・使用するエクセルは2010です。  ・【前回数字】、【今回数字】共に、セルの中の数字は    1~31迄の数字がランダムに入ります。 以上、よろしくお願いします。

  • エクセルで、0~9数字の中で使ってない数字を抽出す

    エクセルで、A1~L1のセルに0~9の数字がランダムで並んでるとします。0~9数字の中で使ってない数字をM1以降に並べたいのです。関数を使ってやりたいのですが、誰かご教授下さい。 こんな感じですが・・・   A・B・C・D・E・F・G・H・I・J・K・L---M・N 1  1・1・4・9・8・0・3・2・5・5・4・2----6・7 2  4・6・7・3・2・5・1・0・1・9・6・4----8 3  7・0・5・9・1・3・9・4・7・8・7・6----2

専門家に質問してみよう