エクセルに詳しい人お力を貸してください!

エクセルに詳しい人お力を貸してください! 図の様に各ブロックのピンク色部分にいろんな数字あります。 このピンク色部分から必要な数字を探したいのです、関数で一発出て来る或いはその周辺「±20」の数字を探し出す事とかってありますか? 例:D10「右下のブロック」を参照に「401」って言う数字を探し出したい時に「401 」と「416」を探し出して貰いたいです。 ※注意※ 各ブロックは同じシート上にあるため、必要な部分「ブロック」だけ必要な数字を探し出して欲しいと言うお願いです。 一個ずつ探しても良いのですが、複数個探すだと時間がかかる為関数あれば楽かと思いまして、お願いしました。なんか良い方法あれば教えてください。 因みにエクセルの「検索と選択」「フィルター」を使ってみましたが、自分の要求に満足できませんでした!

画像

Excel35閲覧xmlns="http://www.w3.org/2000/svg">500

ベストアンサー

0

マクロによる回答です。 ブロック名を求められます。 基準数値を求められます。 ±の数値を求められます。 回答はメッセージボックスに出ます。 【条件】 各ブロックは空行・空列で区切られていること Dim RetB, RetN, RetH Dim RNG As Range Dim TopRow, EndRow, TopCol, EndCol, R, C, Kai RetB = InputBox("ブロック名を入力して下さい。") If RetB = "" Then     Exit Sub End If With ActiveSheet.UsedRange     Set RNG = .Find(what:=RetB, lookat:=xlPart, searchdirection:=xlNext) End With If RNG Is Nothing Then     MsgBox "ブロックが見つかりませんでした"     Exit Sub End If RetN = InputBox("数値を入力して下さい。") If RetN = "" Then     Exit Sub Else     If IsNumeric(RetN) = False Then         MsgBox "数値を入力して下さい。"         Exit Sub     Else         RetN = Val(RetN)     End If End If RetH = InputBox("±の数値を入力して下さい。") If RetN = "" Then     Exit Sub Else     If IsNumeric(RetH) = False Then         MsgBox "数値を入力して下さい。"         Exit Sub     Else         RetH = Val(RetH)     End If End If Set RNG = RNG.CurrentRegion.Offset(1, 3) Set RNG = RNG.Resize(RNG.Rows.Count - 1, RNG.Columns.Count - 3) TopRow = RNG(1).Value EndRow = RNG(RNG.Count).Row TopCol = RNG(1).Column EndCol = RNG(RNG.Count).Column Kai = "" For C = TopCol To EndCol     For R = TopRow To EndRow         If RetN - RetH <= Cells(R, C) And Cells(R, C) <= RetN + RetH Then             Kai = Kai & Cells(R, C).Address & vbCr         End If     Next R Next C If Kai = "" Then     MsgBox ("条件に一致するレンジはありません。") Else     MsgBox ("条件に一致するレンジは" & vbCr & Kai & "です。") End If

ありがとうございます^ ^返信遅くなりました!すみません_φ(・_・!! すみません、初心者のためkinさんの式のやり方がわかりません!もしよろしければ始め方教えてください_φ(・_・!! 何処にその式を入力したら成立するのか詳しくお願いします。

ThanksImg質問者からのお礼コメント

ありがとうございました またよろしくお願いします。

お礼日時:9/20 7:19

その他の回答(1件)

1

図のように,見つけたい数値のセルを,青色で塗りつぶすというのはどうでしょう。 使っていないセル,図ではM20に見つけたい数値「401」を入力します。 探したい範囲,図ではM10~P17を範囲指定します。 条件付き書式で,「数式を使用して,書式設定するセルを決定」を選択し,ルールに, =AND(M10<=$M$20+20,M10>=$M$20-20) という数式を入力します。 書式を青の塗りつぶしに設定し,OKします。 できあがり。

画像

1人がナイス!しています