• ベストアンサー

エクセル下三桁の検索方法教えて下さい

初めて質問させていただきます。 Sheet1 A1 に検索したい数字(3桁)入力します Sheet2 の B1 - B123 までに検索したい対象の数字(アルファベット含、10桁以上)の数値があります。 A1に数値を入力し 他のセルにB1-B123の下三桁と一致するセルを出したいのですが、 たどり着けませんでした。 分かる方、教えて下さい。 できればVBではなく、関数の方法お願いします。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

一例です。 A2以下にシート2の対象データを抽出しますので相違していましたら読み飛ばし下さい。 A2に以下の数式を入力、入力完了時にshift+ctrl+enterキーを同時押下、下方向に必要分 コピー =IF(COUNTIF(Sheet2!$B$1:$B$123,"*"&$A$1)>=ROW(A1),INDEX(Sheet2!$B$1:$B$123,SMALL(IF(RIGHT(Sheet2!$B$1:$B$123,3)=$A$1&"",ROW(Sheet2!$B$1:$B$123),999),ROW(A1))),"")&""

hiyokoou
質問者

お礼

返答遅くなりごめんなさい。。 使い方が分からず手間取っていました。^^; 大変参考になりました。ありがとうございます。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

下3桁が合致する「複数のデータ」を列記したいご相談でしょうか。 手順: シート2のA1に =IF(RIGHT(B1,3)-Sheet1!$A$1=0,ROW(),"") と記入し,下向けにコピー貼り付ける シート1のB1に =IF(ROW(B1)>COUNT(Sheet2!A:A),"",VLOOUKP(SMALL(Sheet2!A:A,ROW(B1)),Sheet2!A:B,2),"") と記入し,下向けにコピー貼り付ける。 #シート2のA列をツカエナイ場合は,A列とB列の間に空き列を1列挿入して使うか  全然別の列を使い,別の関数(INDEX(MATCH())など)で検索して持ってくる。

hiyokoou
質問者

お礼

返答遅くなりごめんなさい。。 使い方が分からず手間取っていました。^^; 大変参考になりました。ありがとうございます。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

Sheet2 の B1 - B123 に下三桁と一致するセルが一つだけなら、 Sheet2 の A1 ~ A123 に =VALUE(RIGHT(B1,3))をドラッグコピーして、 Sheet1 B1 に、 =VLOOKUP(A1,Sheet2!A:B,2,FALSE) ではいかがでしょう。 Sheet2 の B1 - B123 に下三桁と一致するセルが2つ以上あるなら、 Sheet2 の A1 ~ A123 に =VALUE(RIGHT(B1,3))をドラッグコピーして、 A列でフィルタを掛けて並べ替えではいかがでしょう。

hiyokoou
質問者

お礼

返答遅くなりごめんなさい。。 使い方が分からず手間取っていました。^^; 大変参考になりました。ありがとうございます。

関連するQ&A

  • エクセルで、検索したセルの下の行を出したいときは?

    たとえば、一つのシートに数字が入った表があるとして(シート1)、 隣のシート(シート2)でA1のセルに数値が入るとシート1から 同じ数値を探し出す(作業しているのはB1)。 その探し出したセルの下の行にあるものを出したいのですが、 その方法がわかりません。関数の数式の中で、 ”+1行”とか、”+1列”というのは、 どういった入力をすればいいのでしょうか? ちょっと説明がうまくできないので、伝わりづらいと 思いますが、補足していきますので、よろしくお願いします。

  • エクセル 検索値と一致する行の検索

    Sheet1に以下のようなデータ(3,000件程度)があり、Sheet2を「検索用シート」として、検査値と一致する(Sheet1の)検査範囲の行データ(各対応範囲)を検索・抽出したいと考えています。 なお、検査値及び検査範囲は20桁の数字であるため、文字列で表示しています。 LOOKUP関数を使用して試みたのですが、検査値を入力したところ、異なる対応範囲のデータが抽出されてしまうケースが発生しました。 原因が分かりません。検査値及び検査範囲に問題があるのでしょうか? 参考になるか分かりませんが、この検査値及び検査範囲の上2桁は「11...」、「12...」、「13...」と1から始る数字となっております。 LOOKUP関数では不可能なのでしょうか? 可能であれば、関数を使用して正しいデータを検索・抽出できる方法を教えてください。 Sheet1    A(日付)  B(氏名)   D(20桁の数字)        1  2/1      ○●    11223344556677889911        2  2/3       △▲    12341234123412341234       3  2/5       □■    11112222333344445555         ↑       ↑        ↑      対応範囲1  対応範囲2   検査範囲 Sheet2(例)     A(検査値)          B(対応範囲1)       C(対応範囲2)      1  12341234123412341234      2/3             △▲                               ↑              ↑       A(検査値)に入力した値と、これに一致するSheet1の各対応範囲を検索・抽出したい。  

  • エクセル:指定した別シートのセルに入力する方法

    エクセル2000 を使用しています。 sheet1 のセルに数字を入力して ・sheet2、sheet3、・・・ の指定したシートの指定したセルに文字を反映させる方法はありますでしょうか? 例)sheet1 A3 に"100"と入力すると、('sheet2'の'B2'を指定)   sheet2のB2に"100"と反映   同様に sheet1 A3 に"300"と入力すると、('sheet3'の'C5'を指定)   sheet3のC5に"300"と反映 ※作業しやすい為に入力セルを一つのみにするというのは難しいでしょうか? 条件 ・一度指定して入力したセルは何度も入力しなおします。 ・入力は数値のみです。 ・入力の対象シートは30シート程あります。 対象となるセル全てに関数をいれてみて・・とやってみたのですが、たどり着きませんでした。 分かる方どなたか教えていただけますでしょうか? 質問文が下手ですいません、回答していただけたら補足で再度質問しなおしたいと思います。。 VB、関数どちらでも分かる方お願いします。

  • エクセルの合計値が一致しません

    A、B、C、D各シートの「J45」セル合計値を求めるべく、 合計 start A B C D end とシートを7つ並べて 合計のシートの「J45」セルに、 『=SUM(start:end!J45』と関数を入れています。 AのJ45セル値が14.53、Bは139.58、CとDはそれぞれ0なので合計が154.11となり、 合計シートのJ45セル値も145.11と表示されていますが、 ステータスバーには153.18と表示されているのです。 表示形式は「数値」の小数点以下2ケタを指定しています。 A~Dのシートには小数点2ケタの数字を直接数字を入力しており、 小数点以下3ケタより下が隠れている、なんてことはありません。 なぜセル内に表示されている数値と、ステータスバーに 表示されている数値にアンマッチが発生するのか、私には理解できません。 理由の分かる方、どなたか教えていただきますよう宜しくお願い致します。

  • エクセルにて

    AとBというブックがあり、Bには200程度のシートがあるとします。 Bのシートは全部同じ形式のシートです。 そのシート名は全て6桁の数字になっています。 AのシートのあるセルにそのBのシートの6桁の数字を 入力した時に、Aのシートの任意のセルにBのブックの同じ6桁のシートの任意のセルを参照させるにはどのようにしたらよいのでしょうか? できれば関数だけで処理できるとありがたいのですが それともやはり変数を使用したVBAでないと無理でしょうか? 分りづらい表現で申し訳ありませんがよろしくお願いします。

  • EXCELでの日付表示の方法

    初心者ですみません。 EXCELで日付を表示する方法の質問です。 例えば、同一ブックの別のシートのあるセル(例えばB2)に6桁の日付の数字(例211229  和暦)が入力されているとして、その数値の下4桁のみを別のシートの例えばC2セルで12月29日と表示させるにはどうしたらよいのでしょうか? MODで6桁の数字を10000で割れば、余りとして1229が得られますが・・・。 よろしくお願いいたします。

  • 数値の検索と抽出

    エクセルワークシート上で A2~A10001 と B2~B10001 にランダムな2桁の数値が入力されているとして、 セル範囲 Range("B2:B10001")の数値を A2 の数値で検索し、条件に一致したA2の数値があれば、C2に転記(A2の数値) 無ければ、転記なし。 セル範囲 Range("B2:B10001")の数値を A3 の数値で検索し、条件に一致したA3の数値があれば、C3に転記(A3の数値) 無ければ、転記なし。 セル範囲 Range("B2:B10001")の数値を A4 の数値で検索し、条件に一致したA4の数値があれば、C4に転記(A4の数値)      !   無ければ、転記なし。     !               !              ! セル範囲 Range("B2:B10001")の数値を A10001 の数値で検索し、条件に一致したA10001の数値があれば、C10001に転記(A10001の数値) 無ければ、転記なし。 これが出来るマクロ文を教えてください。お願いします。

  • 二桁の数値の表示方法?

    A1に数値を入力します。この数値は一桁(2とか4など)の場合と 二桁(10とか17など)の場合があり、この入力値をJ1とK1に (17ならJ1に1、K1に7と分けて、一桁の4場合はJ1空白K1に4) に分けて表示しています。IF(LEN($A$1)>=2,LEFT($A$1,1)," ")と RIGHT($A$1)を使用。 さらにM1でVLOOKUPの検索値に使用しています。 VLOOKUP用の被検索データは他のシートに作成済み。 A1に4を入力するとJ1は空白になります。 ここに0を表示させたいのですが、 A1のセルの書式設定の表示形式を文字列にして、 入力値を04とするとJ1は0を表示しますが、M1が表示されません。(空白になってしまう) A1のセルの書式設定の表示形式をユーザー定義で00にして 入力値を04とするとM1は表示されますが、J1が表示されません。(空白になってしまう) A1に17を入力すれば書式設定の表示形式は 文字列でも標準でもJ1、K1、M1すべて表示されます。 説明が長くなりましたが、A1に一桁の数字(数値?)入力したときに J1とM1が表示できるようにするにはどのようにすればできるのでしょうか。 ちなみに実際使っているものはシートが4つに分かれていて表示に関しては とても複雑になっています。参考に実際使用しているVLOOKUPの セルに入力されている関数はIF(LEN(入力1!$B$8)<=0,"",IF(ISERROR(VLOOKUP(入力1!$B$8&入力1!$C$8,内訳マスタ!$A:$E,4,0)),"",VLOOKUP(入力1!$B$8&入力1!$C$8,内訳マスタ!$A:$E,4,0)))このようなもので、VLOOKUPも二通りのデータ検索と表示をしております。 人に作ってもらったものなので、自分で何とかならないかと二桁入力の仕方とかを調べてみましたが、どうにもなりませんでした。 どなたかお手隙のときで結構ですので、アドバイス頂けますでしょうか。 このような二通りの表示は無理なら、そのようなことをお知らせいただけると幸いです。

  • EXCELで下一桁の数字のみを表示するには?

    いくつかのセルの数値を合計した数の、下一桁の数字のみを別のセルに表示させたいのですが、そのような関数はありませんか。

  • エクセル 検索

    Microsoft Excel 2007を使用しています。 条件を選んでマッチするデーターを表示する方法をお尋ねします。 A列、A1に「1」以下セルA10に「10」までの数字が昇順で入力されています。 セルB1からセルB10まで果物の名前が入力されています。名前の重複はありません。 セルC1に果物の名前を入力したらセルD1に関数を用いてそれに対応するA列の数値が表示されるようにできませんでしょうか。 エクセルのヘルプを見ましたが、旨く当てはまる関数を探し出せませんでした。 宜しくお願い致します。 例)  セルA5に「5」という数値があり、B5に「柿」が入力されている。 セルC1に「柿」と入力すると、セルD1に「5」が表示される。

専門家に質問してみよう