エクセルでなんですが、あいまい検索・かつ絞込みを行いたく。。

ここでは品番検索の簡易システムとして使いたく、

例えば
  A   B    C   D
(1) メーカー  車種   品番  単価
(2) トヨタ マジェスタ   ABC  10,000
(3) トヨタ ソアラ   BBO  5,000
(4) トヨタ セルシオ  MFR  1,000
(5) 日産  セフィーロ   MMFR  1,500
(6) トヨタ センチュリー   JUGY  9,000

上記のようなデータがSheet1にあり、
Sheet2の特定項目に、例えば「トヨタ」の「ト」をいれたら
同じSheet2の特定項目の下にトの分が一覧で表示される。
(ここで言えば見出しの(1)と、(2)(3)(4)(6)の行)
また、車種の項目に車種を、これも同じように「セ」と入れると、
先ほどの一覧中、セで始まる分だけがさらに絞り込まれ、
同じく一覧で表示される。(ここで言えば(1)と、(4)(6)の行)

オートフィルタを使えば?と言われそうですが、
リストから該当するものを選ぶのでなく(選択する種類が
多すぎるため)、入力をさせたいのです。
色々調べてみたのですが見当がつかず。。
分かりそうでしたら教えていただけると助かります。
どうかよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

こんにちは。



基本的には、フィルタオプションで可能なはずです。
オートフィルタよりは、小回りが利きます。

フィルタオプションの検索式の書き方は、少し学ばないといけません。
しかし、ファイルタオプションは、コマンドがメニュー形式になっているので、メニューを開かなくてはいけません。コントロールツールのコマンドボタンを入れて動かせばよいです。この程度は、マクロ入門でも可能です。数行マクロで可能です。

むろん、イベントもマクロも使わないで、ダイナミックな検索も可能ですが、逆に、作りがマクロよりも面倒です。
    • good
    • 1
この回答へのお礼

ありがとうございます。
お返事遅くなってしまい申し訳ありません。

フィルタオプションの検索のマクロについて、
色々調べさせていただきました。

結果、思ったよりも軽いプログラムで、
フィルタオプションのマクロを組むことが出来ました。
ヒントありがとうございます。すごく感謝しています。
ありがとうございました。

お礼日時:2009/05/22 15:54

オートフィルタのダウンボタンでオプションを使用する方法では駄目でしょうか。


一例です。
A列のフィルタボタン→オプション→内容に「ト」、条件欄で「で始まる」を選択→OK、同様にB列のフィルタボタン→オプション→内容に「セ」、条件欄で「で始まる」を選択→OK
    • good
    • 0
この回答へのお礼

ありがとうございます。
お返事遅くなってしまい申し訳ありません。

オートフィルタを使うという考えはちょっとありましたが、
エクセルのスキルの十分な人ばかりでないので、
「入力して」→「Enter」みたいな操作性にしたかったのです。

ただ、オートフィルタのヒントからマクロを組むやり方に
至ることができましたので、すごく感謝しています。
ありがとうございました。

お礼日時:2009/05/22 15:49

基本的にExcelは「ダイナミックにデータを処理する」発想がありません。


処理はあくまで「スタティック」に行いますから、徐々に変動する入力
によって、表示を変化させる方法が無いのです。

とりあえず、検索対象文字を1文字づつ分割してセルに設定し、それを
検索させるという方法が使えますが、検索表示を行うためには、やはり
VBAの助けが必要になります(フィルタオプションの処理をツールメニュー
から選ぶならVBAは不要ですが、そういう話じゃないですよね)

ちなみにVBAは「セルの変化」をキックに処理できますが、お望みの処理
だと、物凄く重いものになりそうです。データを入力してボタンをクリック
という形でないと、実務的には使えないモノが出来ちゃうような気がします。
    • good
    • 0
この回答へのお礼

ありがとうございます。
お返事遅くなってしまい申し訳ありません。

ご意見の中でフィルタオプションのお話が多く、
色々調べさせていただきました。

結果フィルタオプションのマクロを組むやり方に
至ることができましたので、すごく感謝しています。
ありがとうございました。

お礼日時:2009/05/22 15:52

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで「あいまい検索」を行いたい。

皆さん おねがいします。
エクセルで顧客管理を作成してます。
検索を行うとき、顧客の名前を指定したいのですが、
顧客のデータには正式名称を入力してあります。
検索の時、例えば 「株式会社あいうえおインターナショナル」
を探すに 「あい」を入力すると
「あい」を含むリストが表示され、その中から
「株式会社あいうえおインターナショナル」をクリックすると
所定のセルに入るような仕組みを作りたいのですが、
教えてください。
顧客情報は Sheet3 にあり、
入力管理は Sheet1
検索管理は Sheet2です。
よろしくお願いします。
 

Aベストアンサー

Sheet3のA列に顧客名があるとして、G列にでも
=IF(ISERROR(FIND(Sheet2!D$5,A1)),"",ROW())
と入れて下フィル、Sheet2のD5の文字を含む場合は行番号、含まなければ空白を表示させておきます。
Sheet2のD7には、
=INDEX(Sheet3!A:A,SMALL(Sheet3!G:G,ROW(A1)),1)
といれて下フィルすれば、D5の文字含む顧客名がずらずら表示
B5には、入力規則で D7以下の何行かを設定
B5で、正式な顧客名が表示されるので、選択してOK
後、住所などは、VLOOKUP関数で、検索値にB5を指定すれば情報が表示される。

Qエクセルでリストから検索した時の複数候補の表示方法

エクセルでの質問です。
例えばですが、
A1 あい
A2 あいこ
A3 あかね
とセルに入力してあり、B1に“あい”と入力すると検索結果として“あい”と“あいこ”を複数候補としてリスト表示してくれて、“あか”と入力すれば“あかね”が候補表示されるものを作りたいのですが、たいした知識もないため、アイディアがうかびません。

皆様のお知恵をお貸しください。

Aベストアンサー

No1です。
>1.文字入力(2~3文字入力)をしEnterを押すと、その文字に該当する候補をドロップダウンリストで表示したい。
条件を入力するセルと入力後に条件にあったリストを表示させるセルが同じセルということでしょうか。

条件を入力するときは入力規則がかかっていない(入力規則がかかっていれば、リスト内の値しか入力できない)
入力してEnterすると、入力規則がかかる(VBAで出来そうですが)
次に、条件を入れるときは入力規則の解除を行う(別途、入力規則解除のボタンを操作する)
上記の事が難易度が高いでしょう。
こんな感じのシートはVBA駆使すれば出来そうな気がしますが?(経験はないです)
ただ、先に紹介した方法で、別シートに
  A  B
1 条件
2 表示
B1セルに、条件(例えば あ とか あい と)入れると
B2セルには入力規則があって、B2セルで指定した文字を含む値しかリストに出ない。
これには、応用が出来ると思います。No4の方の方法も同様です。
条件を入れるセルと条件にあったリストの入力規則で選択するセルが分かれますが、この方が使い易くないでしょうか。
>2.そのリストからどれを使うのかをマウスで選択する(できれば十字キー上下で選択しEnterで確定したいのですが)とそのセルに入力される。
>3.入力文字は“あい”限定ではなく文字や数字すべてに対応してほしい。
のご希望は満たしていると思います。

No1です。
>1.文字入力(2~3文字入力)をしEnterを押すと、その文字に該当する候補をドロップダウンリストで表示したい。
条件を入力するセルと入力後に条件にあったリストを表示させるセルが同じセルということでしょうか。

条件を入力するときは入力規則がかかっていない(入力規則がかかっていれば、リスト内の値しか入力できない)
入力してEnterすると、入力規則がかかる(VBAで出来そうですが)
次に、条件を入れるときは入力規則の解除を行う(別途、入力規則解除のボタンを操作する)...続きを読む

Qvlookup関数で検索値を含む文字列を検索する方法

vlookup関数で例えば E1のセルに=vlookup(D1,A:C,3,false)とした場合、D1が佐藤であれば、A列に「佐藤」がある場合には当然、「佐藤」がある行の3列目の値が返されますが、「佐藤」はなく「佐藤A」や「A佐藤」がある場合にもこれらがある行の値を返して欲しいのですが、いい方法はありませんでしょうか。*を使ってできると思ったのですがうまくいきません。上記例で、=vlookup("*佐藤*",A:C,3,false)とすればできますが、*佐藤*の部分はD1の引用を利用したいのです。
 よろしくお願いします。

Aベストアンサー

=VLOOKUP("*"&D1&"*",A:C,3,FALSE)

Qエクセルでのデータのあいまい検索のVBAについて

VBAかマクロで作成したいと思いますが、あいまい検索ができずに困っております。
どなたかご教授お願いできますでしょうか?

一応画像を添付しておりますが大変見にくく申し訳ないです。

 一つのファイルで2枚のワークシートを使用してデータのあいまい検索をしたいと思っております。
画像1の方のワークシートがSheet2になっていてこちらの”I”の列に入力しているデータが画像2になりますが登録商品リストの”G”の列に含まれているかを検索したいと思います。
その結果は”Sheet2”の緑色の部分”I”のセルにデータがあれば”*”をJのセルに表示したいと思います。
登録商品リストには長いもので桁数が30桁近いものもありますがこの桁数を8ケタくらいまでの一致でSheet2のIの列のデータと照合して結果をJに表示できればと思っております。何卒ご教授くださいますようお願いいたします。

照合するデータにつきましては、その日によって件数が違いますので、Sheet2のI列にあるデータが200件くらいの時もあれば2000件くらいの時もございます。
登録商品リストは登録するたびに量が増えていくので照合件数も増えていくことになりますので、どちらも1行指定でできればべすとだとおもっております。

VBAかマクロで作成したいと思いますが、あいまい検索ができずに困っております。
どなたかご教授お願いできますでしょうか?

一応画像を添付しておりますが大変見にくく申し訳ないです。

 一つのファイルで2枚のワークシートを使用してデータのあいまい検索をしたいと思っております。
画像1の方のワークシートがSheet2になっていてこちらの”I”の列に入力しているデータが画像2になりますが登録商品リストの”G”の列に含まれているかを検索したいと思います。
その結果は”Sheet2”の緑色の部分”I”のセルにデータ...続きを読む

Aベストアンサー

こんばんは!
画像が小さくて詳細が判らないのですが、
おそらくこんなコトでしょうか?

↓の画像で左側がSheet1で右側がSheet2とします。
Sheet2のI列の頭から5文字がSheet1のG列データの中にあればJ列にアスタリクスを表示!
としています。
一例です。

Sub Sample1()
Dim i As Long, endRow As Long, str As String, c As Range, wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("Sheet1")
Set wS2 = Worksheets("Sheet2")

endRow = wS2.Cells(Rows.Count, "J").End(xlUp).Row
Application.ScreenUpdating = False
If endRow > 1 Then
Range(wS2.Cells(2, "J"), wS2.Cells(endRow, "J")).ClearContents
End If
For i = 2 To wS2.Cells(Rows.Count, "I").End(xlUp).Row
str = Left(wS2.Cells(i, "I"), 5)
Set c = wS1.Range("G:G").Find(what:=str, LookIn:=xlValues, lookat:=xlPart)
If Not c Is Nothing Then
wS2.Cells(i, "J") = "*"
End If
Next i
Application.ScreenUpdating = True
End Sub

こんな感じではどうでしょうか?m(_ _)m

こんばんは!
画像が小さくて詳細が判らないのですが、
おそらくこんなコトでしょうか?

↓の画像で左側がSheet1で右側がSheet2とします。
Sheet2のI列の頭から5文字がSheet1のG列データの中にあればJ列にアスタリクスを表示!
としています。
一例です。

Sub Sample1()
Dim i As Long, endRow As Long, str As String, c As Range, wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("Sheet1")
Set wS2 = Worksheets("Sheet2")

endRow = wS2.Cells(Rows.Count, "J").End(xlUp).Row...続きを読む

QExcelで文字列の中から部分一致したものを抽出

エクセルで特定の文字を含むセルを抽出する方法を探しています。

A列に元データ、C列に検索条件があります。
C列の条件に一部でも一致するデータを抽出したいです。(結果イメージを添付します)

可能であれば、関数で対応したいです。

どなたかお分かりになる方いらっしゃいましたら、
教えていただけないでしょうか?

よろしくお願いいたします。

Aベストアンサー

こんにちは!
A列は当然文字列だと思いますが、C列の日付セルがシリアル値だと厄介です。
とりあえずC列の日付セルは「文字列」だという前提での一例です。

画像の配置ではB2セルに
=IF(OR(ISNUMBER(FIND(C$2:C$6,A2))),"○","")
これは配列数式になりますので、Ctrl+Shift+Enterで確定!
この画面からコピー&ペーストする場合は
上記数式をドラッグ&コピー → B2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま)
Ctrl+Shiftキーを押しながらEnterキーで確定!
数式の前後の{ }マークが入り配列数式になります。
これをフィルハンドルで下へコピーしてみてください。

※ 検索データ(C列データ)が増える場合は元データにまず使うことはないであろうと思われる
「*」(アスタリクス等の文字、#のような文字でも構いません)を入力しておき、数式内の
>C$2:C$6
部分の範囲を広げておきます。
そして検索データが増えた場合はアスタリクスの代わりに検索文字列を入力します。
(空白セルは範囲指定しないようにするためです)

※ C列日付データがシリアル値の場合、別の方法を考える必要があります。m(_ _)m

こんにちは!
A列は当然文字列だと思いますが、C列の日付セルがシリアル値だと厄介です。
とりあえずC列の日付セルは「文字列」だという前提での一例です。

画像の配置ではB2セルに
=IF(OR(ISNUMBER(FIND(C$2:C$6,A2))),"○","")
これは配列数式になりますので、Ctrl+Shift+Enterで確定!
この画面からコピー&ペーストする場合は
上記数式をドラッグ&コピー → B2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま)
Ctrl+Shiftキーを押しながらEnterキーで確定!
数式の前後の{ }マークが...続きを読む

QExel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。

自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが…

Sub 別ブックから貼り付ける()
  Dim 検索する As Long
Windows("部品表.xls").Activate
検索する = cells(i,2).Value
Windows("コード一覧表.xls").Activate
ActiveWindow.SmallScroll Down:=-3
Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd

と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。

基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数...続きを読む

Aベストアンサー

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks.Open("C:\★★\コード一覧表.xls") '★要変更★
 I = 2
 Do While Range("A" & I).Value <> ""
  ThisWorkbook.Worksheets("Sheet1").Range("C" & I).Value = Application.VLookup(ThisWorkbook.Worksheets("Sheet1").Range("B" & I).Value, xlBook.Worksheets("Sheet1").Range("A2:B65535"), 2, 0)
  I = I + 1
 Loop
 xlBook.Close
 Application.ScreenUpdating = True
 MsgBox ("完了")
End Sub

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks....続きを読む

Qプルダウン 項目が多いので先頭文字とかで検索したい

<最終的にやりたいこと>
・プルダウンで目的の項目を出来るだけ簡単に選択したい

<困っていること>
・一つのカテゴリーに属する項目がもの凄く多いため、プルダウン項目を選択するのに(探し出すのに)、毎回苦労しています

<前提条件>
・根本的な問題は、1カテゴリーに属する項目が多いことにあるのですが、その前提で教えてください
・サイト自体はPHPで作成していて、プルダウン表示項目は、MySQLより取得しています

<知りたいこと>
・何か良いアイデアはないでしょうか?
・例えば、プルダウン項目の先頭1文字とかを検索して、該当する項目をプルダウンとして表示させるようなことは出来ないでしょうか?
・あるいは、プルダウン項目を、縦一列ではなくて、画面一杯に表示させるとか、そんなことは出来ないでしょうか?
・項目数が多くても、選択しやすいプルダウン実装方法をご存知の方や、そんな実例を見たことがある方は、是非教えてください、

Aベストアンサー

jQuery Searchable DropDown Plugin あたりを使えばいかがでしょうか?
http://jsearchdropdown.sourceforge.net/

そもそも、昔のWindowsフォームには、こういう「複合型コンボボックス」があって、大量の項目を選択できていました。
Webになって、こういう部分はユーザビリティが悪くなったのですが、Ajaxの登場で救われることが多いです。

プラグイン側でTextboxのchangeイベントを拾って、$(this).val()を送ってくるので、それを受けてjsonで返すサーバサイドメソッドが必要です。

Ajaxがらみで「選択+Dropdown」プラグインは他にもいろいろあります。
動作原理はよく似ています。<select>を直接オーバーライドするものが多いので、実装も楽かと。
http://www.jquery4u.com/plugins/10-jquery-selectboxdrop-down-plugins/

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QEXCELのフォーム上でリアルタイムな曖昧検索を行いたい

ユーザーフォーム上でのVBAを教えて頂きたく思い、投稿致します。
現在、特定のセルをダブルクリックしユーザーフォームを呼び出し
指定範囲からデータを取得し、リストボックス上に表示させる。
Private Sub UserForm_Activate()
With Worksheets("データシート").Range("A1").CurrentRegion
Me.ListBox1.RowSource = .Resize(.Rows.Count - 1 _
).Offset(2, 0).Address(external:=True)
End With
End Sub
という物を利用し、フォーム上で決定された値を、特定セルに戻す
(入力する)という作業を行っているのですが、
フォーム上での数値決定を、あいまい検索かつ、リアルタイムに
変動するように出来ないでしょうか?
下記のような流れをイメージしております。

1.テキストボックスに検索内容を入力(対象は指定範囲)
2.入力された文字に応じて、リストボックスのデータを変動させる。
3.数値を決定しセルに反映。

2.のデータ変動ですが、以下のようなデータがあった場合、
1.AABBCC
2.AABCCD
3.AACCDD

入力値[AA] =1,2,3
入力値[AAB] =1,2
入力値[AABB]=1
という表示が、入力した瞬間に返ってくるような物は可能でしょうか?
2を色々調べたのですが、これだ!という物に出会えませんでしたので
ご教授お願い致します。

ユーザーフォーム上でのVBAを教えて頂きたく思い、投稿致します。
現在、特定のセルをダブルクリックしユーザーフォームを呼び出し
指定範囲からデータを取得し、リストボックス上に表示させる。
Private Sub UserForm_Activate()
With Worksheets("データシート").Range("A1").CurrentRegion
Me.ListBox1.RowSource = .Resize(.Rows.Count - 1 _
).Offset(2, 0).Address(external:=True)
End With
End Sub
という物を利用し、フォーム上で決定された値を、特定セルに戻す
(入力する)とい...続きを読む

Aベストアンサー

ListBoxのRowSourceでは複数の領域を設定できないようです
やるなら Listプロパティをつかって設定といった方向でしょう

データ範囲のRangeオブジェクトのValueプロパティでシートのデータを取得
取得した配列をループしてテキストボックスに部分文字列があるか探索およびコレクションする
探索して出来上がったコレクションを ListBoxのListプロパティへ設定
といった手順でしょう

テキストボックスの Changeイベントで
dim ar(), dt()
dim n as integer, m as integer
with Range("A1").CurrentRegion
  ' シートから元データを取得
  ar = .Resize( .rows.Count-1, 1).Offset(2,0).value
end with
Redim dt( UBound(ar) - 1 )
m = -1
for n = LBound( ar ), Ubound(ar)
  ' 部分文字列があるかを判定
  if instr( ar(n,1), TextBox1.text then
    m = m + 1
    dt(m) = ar(n,1)
  end if
next

if m = -1 then
  ' テキストボックスに入力があるが該当行がない場合
  listBox1.RowSource = ""
  ListBox1.Clear
  exit sub
end if

' 見つかったデータをListBoxに設定する
redim ar(m,0)
for n = 0 to m
  ar(n,0) = dt(n)
next
listBox1.rowsource = ""
ListBox1.List = ar
といった具合でしょう

ListBoxのRowSourceでは複数の領域を設定できないようです
やるなら Listプロパティをつかって設定といった方向でしょう

データ範囲のRangeオブジェクトのValueプロパティでシートのデータを取得
取得した配列をループしてテキストボックスに部分文字列があるか探索およびコレクションする
探索して出来上がったコレクションを ListBoxのListプロパティへ設定
といった手順でしょう

テキストボックスの Changeイベントで
dim ar(), dt()
dim n as integer, m as integer
with Range("A1").CurrentReg...続きを読む

QEXCELで別のシートのデータを参照して返す方法

ちょっとしたことなのですが、うまく式が書けなくて悩んでいます。

作業用のシート1と参照用のシート2があり、
シート1のA列には
 あおき
 あべ
 いぐち
 いはら
などと文字列(名前)が入力されています。
こちらは今度の野球のスタメンだと思ってください。

シート2にはA列とB列があって、
わたなべ 55
いぐち  43
あおやま 67
いはら  41
などと、名前:背番号が羅列されています。こちらが参照用の全選手の背番号リストだと思ってください。

ここで、 シート1のB列に、A列の名前に対応した背番号を返したいのです。
なので、シート1のB列に
IF(シート1のA列の値=シート2のA列のいずれかの値)だったとき、
適合したシート2の行のB列の値を表示する
という式を入れたいのですが、どのように式を書けばよいでしょうか。

すみませんがどなたか教えてください。

Aベストアンサー

私もその場合はVLOOKUP関数を使用しています。

「B1」=VLOOKUP(A1,Sheet2!$A:$B,2,0)


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報