• ベストアンサー

Excel 関数 検索

EXcelの関数について教えてください。 出場者の名簿(受付NO.品名.氏名.住所.etcを受付順で作成しました。 受賞者の順位もそのシートに入力してあります。 受賞者の順位はランダムで入力されます。 別シートで受賞者の順位を1~入力して、それに対応した内容を出場者の名簿から表示したいと思います。 そのシートを受賞者の順位に並び替えてしまえばLOOCUP関数で処理できますが、並び替えないで、受賞者コードを1~入力して表示できないでしょうか?

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

  • ベストアンサー
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

LOOKUP関数の引数を確認してみてください  VLOOKUP(検索するデータ,検索範囲,検索範囲の左からの数えた列数,検索の型) となっています この4番目の「検索の型」を指定しないか TRUE を指定する場合、 検索するデータは昇順に並んでいる必要があります じつはこれ、数値を検索したときに、該当する数値が無いと  検索する数値を超えない最大値を検索結果として返すか  #N/A(データが存在しない)を返すか を決めるものです そのため検索する数値を超えない最大値を結果として返すために昇順にデータが並んでいる必要があるのです 対して、このとき FALSE を指定すると、後の #N/A を返すようになる代わりにデータが昇順に並んでいる必要がなくなります ものは試しにやってみてください

masu4649
質問者

お礼

出場者名簿の配列を受付NO.受賞順位.品名.氏名~ に変更することで VLOOKUP関数を使って思い通になりました。 ありがとうございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

>順位に並び替えてしまえばLOOCUP関数で処理できますが これが間違って覚えていると思うよ。 VLOOKUP関数ではFALSE型(第4引数がFALSE)なら 同じ数字や文字列を検索してくれるよ。ただ同じ順位があるとややこしくなるが。 元のシート表の模擬例を載せない質問なので、正確に答えられない。 VLOOKUPかHlookupかLOOKUPも含め。 例は質問に挙げて質問すること。

masu4649
質問者

お礼

VLOOKUP関数ではFALSE型(第4引数がFALSE)なら・・・ 思い通りにできました。ありがとうございました。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

VlookUP関数やMatch関数で検索の型を一致に指定すれば、並べ替えていない表からも検索が可能です。 ところで、受賞者コードって順位のことでしょうか? 順位だと同点○位で同じ順位の人が複数でたりすると、うまく参照できませんが、どうなのでしょうか? コードが1~のように順序立っているものなら、関数など使用しないで、元のシートをコピーしたものを受賞者コード(?)をキーにして、並べ替えるほうが遥かに簡単そうですが・・・ (あるいは元の表を直接並べ替え)  (「データ」-「並べ替え」を参照)

masu4649
質問者

お礼

確かに並び替えてしまえば遥かに簡単なのですが、他の人にも簡単にできるように… と考えていましたので… ありがとうございました。

関連するQ&A

  • EXCELを使って抽選

    400人程度から250人程度をEXCELで抽選する問題です。 A列:受付順に氏名を記入 B列:A列の氏名を「あいうえお」順に並べ替え C列:RAND()でランダム数を表示 D列:一度C列をコピーし、RANK関数で順位づけ これでB列とD列を対比すれば誰が何位かがわかりますが、D列は順位が 入れ乱れていて大変見づらいのでE列にD列の1位,2位,3位,・・・・ の順に対応するB列の氏名を上から順に表示したいのですがうまくいきません。  E列にはどんな関数を使えばいいのか、どなたか教えてください。

  • EXCELの関数:2つの条件から1つの値をひっぱってきたいんですが・・・

    EXCELの関数の使い方を教えてください。 ・Sheet2に元になる名簿(名前、ニックネーム、登録番号)が一覧になったものがあります。 ・Sheet1に、名前かニックネームのどちらかを入力したら、その人の登録番号が自動的に表示されるようにしたいんです。 ・元の名簿にのってない人は、未登録だとわかるように空欄にするか、*マークをつけたいです。 例えば、Sheet2の名簿のセルB2「山田花子」セルC2「はな」セルD2「No.32」とあって、新しいリストを作るSheet1のセルB2に「山田花子」もしくは、「はな」のどちらかを入力すれば、C2に「No.32」とひっぱってくるようにしたいんです。。。 VLOOKUP関数を使って頑張ってみてるんですけど、 2つの条件のうちのどちらかに一致すれば・・・ ってゆうのを作るにはどうしたらいいのかで固まってしまいました。 何かほかの関数と組み合わせたらいいんだろうと思うのですが、まったくわからないので、助けていただけませんか? よろしくおねがいします。

  • エクセル2013関数について

    エクセル2013について教えてください。 sheet1には出席者の名簿一覧を入力しています。 sheet2には支払い済の人の名前を入力しています。 sheet1の名簿の横に sheet2の支払い済みが分かるように『○』を表示させたいのですが エクセル初心者のため、関数がよくわかりません。 詳しい方、わかりやすく教えていただけませんでしょうか。 ちなみに sheet1のC7~C600まで名前が入力してあり E7~E500に『○』を表示させたいです sheet2はA2~A500まで名前が入力してあります 分かりづらく申し訳ありません

  • エクセルで男女別に名前を検索して表示するには?

    エクセルで名簿を作っています。 一つめのシートに男女混合の名簿を貼り付けます。 二つめのシートで,女だったら左の列,男だったら右の列に名前を表示させたいのです。どのような関数を組み合わせればできるでしょうか。 一つめのシートは,一列目に番号,二列目に氏名,三列目に性別が入力されています。

  • Excel 検索関数

    名簿を作り、出欠を記録しておくのですが、その際に別枠で、氏名を入力したら出欠がわかるようにしたいのです。しかし、下の図(お絵かきですみません)のような表になっているため、LOOKUPなどの関数だと出すことが出来ません。 どうにかして表の形は変えずに、出欠を出すことは出来ますでしょうか?

  • データ参照して名簿の氏名に番号を振りたいのです。

    エクセルのファイルが二つあります。 No.1 50音順の全ての会員名簿 No.2 当月の会員整理番号つき名簿(整理番号は毎月変わります。この名簿には、全ての会員が載っているわけではありません) No.1の50音順名簿には、A列が空欄、B列がカナ氏名、C列が漢字氏名になっています。(1行目はタイトル行で、2行目以降に氏名が入っています) No.2の名簿を参照して、1の50音順名簿のA列に「当月の会員整理番号」を自動で入力するようにしたいのです。 例えば、50音順名簿の2行目は鈴木一郎さんだとします。今月の彼の番号はNo.2の名簿によると33番だとします。その場合、50音順名簿のA2セルには33と表示させたいのです。(もし、No.2の名簿に鈴木一郎さんの名前がない場合は、空欄として表示したいのです) このデータを印刷することで、50音順名簿から整理番号を確認するのが大変楽になります。 VLOOKUP関数を利用しようと思いましたが、私の方法が悪かったのでしょう、エラーになってしまいました。 自動的に入力されるようにしたいので、改めてセルに数値を入力したくはないのですが、いい方法はあるでしょうか? No.2の名簿ファイルは、データをコピーして、No.1の50音順名簿の別シートに貼り付けても構わないと思います。 よろしくお願いします。

  • エクセルの関数で教えてください!

    エクセルの関数で教えてください! 200名程の氏名が入力されているデータをシートAとして 別シートBにシートA内に存在する氏名を入力したら1 シートAに存在しない名前を入力したら0 となるようにするにはどんな関数を使えばいいのでしょうか? よろしくお願い致します。

  • エクセルでこんなジャンプ出来ますか

    Sheet2    A     B   C  D    E   F   G     H 3  no.   氏名     no.   氏名     no.   氏名 4 100001 山本A   102001        104001 伊藤F 5 100002        102002 佐藤D   104002  6 100003 鈴木B   102003        104003 中村G 7 100004 高橋C   102004 山田E   104004 :   :    :       :     :       :     : Sheet1    A     B    C   3  no.   氏名  回数   4 104003 中村G   3 5 100004 高橋C   5 6 102003 :   :    :    : Sheet2の表を基にSheet1のような表を作成したい。 Sheet2には約2万件の番号が登録されています。 Sheet1のA列のno.は番号順に入力されるわけではない。 Sheet1のA列にno.を入力するとSheet2より該当の氏名をB列に表示、 該当氏名が空白の場合は、Sheet2の該当セルにジャンプし、氏名入力後Sheet1のC列にジャンプして戻る。 また、Sheet2において例えば、B1に104001を入力するとH4にジャンプしEnterを押すとB1に戻り、100002を入力するとB5にジャンプ氏名入力後Enterを押しB1に戻る。・・・ということもしたいのですがマクロではなく関数で出来るでしょうか?

  • エクセル 検索関数教えてください。 

    A列に工事番号をランダムに入力。 別のシートで指定した同じ工事番号の行を全てピックアップしたいです。 VLOOKUPだと全部を検索してくれません。  関数は何を使えばよいでしょうか? お願いします。

  • エクセルで2つの表を見比べる

    上手く表現出来ずに変なタイトルになってしまいました… sheet1に顧客全員の名簿があるとします B列には顧客の氏名、C列には会員のランク(3種類のランク分けがしてあります) という名簿です。 sheet2にはある商品を購入した購入者名簿があります。 D列に顧客の氏名、その他の列には住所などが入力してあります。 (順番は購入日順なので、バラバラです。) sheet2の購入者名簿に名前のある顧客の氏名を sheet1の顧客全員の名簿から探し、C列の会員ランクを 『上得意』と変えたいのですが関数などを使って 簡単に出来る方法ってありますか? 会員数が6000名、商品購入者が200名くらいと 数が多いので1件1件検索すると時間がかかります… VLOOKUP関数なんかで出来たかなと思ったんですけど 勉強したのがだいぶ前なのですっかり忘れてしまいました。 詳しい方、ぜひいい方法を教えてください。

専門家に質問してみよう