• ベストアンサー

エクセル vlookup 関数?

Excelのバージョン:[2002]  今表を作っていまして、 sheet1に、 A B C 売上 100 200 150 ・・・・ 粗利 30 50 35 ・・・・ 経費 10 40 10 ・・・・ 利益 20 10 25 ・・・・ 粗利ランク 3 1 2 ・・・・ 貢献度ランク 2 3 1 ・・・・ 上記の表を作り、sheet2に、 粗利ランク 氏名 貢献度ランク 氏名 1 B 1 C 2 C 2 A 3 A 3 B ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 上記のようにランキング表を作りたいのですが、 どの関数で、どのように作れば楽に手間なくできるでしょうか? お知恵を拝借したいと思います。 よろしくお願い致します。

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

  • ベストアンサー
回答No.2

もし、VLOOKUP(この場合はHLOOKUP)を使うのであれば、SHEET1にセルA1から、以下の表があるとして、         A    B C 売上 100 200 150 粗利 30 50 35 経費 10 40 10 利益 20 10 25 粗利ランク 3 1 2 貢献度ランク 2 3 1         A B C SHEET2のセルB2(粗利ランク1の氏名)には、 =HLOOKUP(A2,Sheet1!$6:$8,3,0) SHEET2のセルB2(貢献度ランク1の氏名)には、 =HLOOKUP(C2,Sheet1!$7:$8,2,0) とします。 ただし、SHEET1の貢献度の下の行(8行目)には、1行目と同じ名前を入れるか、B8には=B1としてC列以降コピーしておきます。 (氏名の重複が気になるようでしたら、行の非表示にしておくか、文字の色を白にしておきます)

その他の回答 (2)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

ランクで参照でいいなら =LOOKUP(A2,Sheet1!粗利ランクの範囲,Sheet1!名前の範囲) でできます。ただし同じ順位がある場合は左側の名前が表示されるので注意が必要ですが...

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

Sheet1のAがB1セルにあって、 粗利ランクが6行、貢献度ランクが7行、 Sheet2の粗利ランクがA1、氏名がB1、貢献度ランクがC1、氏名がD1 といったデータが入っていた場合、 Sheet2の A2セルに =1 B2セルに =INDEX(Sheet1!$1:$1,1,MATCH(A2,Sheet1!$6:$6,0)) C2セルに =1 D2セルに =INDEX(Sheet1!$1:$1,1,MATCH(C2,Sheet1!$7:$7,0)) A2からD2までを選択して、選択された枠の右下にある■を下方向に引っ張って必要なだけ伸ばしてください。

関連するQ&A

  • Excelで・・・関数?VLOOKUP?困っています!!

    Excel初心者です。 どうしてもすぐに作らないといけないのですが どういう関数を使ったらいいのかわかりません。 どうか方法をお教えください! --------------------------------- Excel2002を使用。 まずシート1に   A B C 1 あ 2 い 3 う 4 え   つづく・・ とあるとします。  シート2には   A B C 1 あ 5 2 う 10 3  4   つづく・・・    という感じでシート1の列番号どおりに データが並んでるというわけではありません。 このシート2の表をもとに シート1の B1に「5」B3に「10」と自動的に 入るようにしたいのです・・・。 うまく説明できなくてすみませんが、 大急ぎなので、ぜひぜひなにかいい関数とか 方法をお教えください!よろしくお願いします。 お待ちしています。

  • if関数とVLOOKUP関数について

    if関数とVLOOKUP関数について エクセル2003で以下のような表を2枚 (シート1とシート2です)作成しています。 上段がシート1で、左上「NO」からA1セルに なっています。 下段がシート2で、特別番号が付番される 人の対象者リストで、「氏名」 がA1セルです。 図が乱れてすいません。 シート1のB列の売上日、C列の氏名は 別ファイルから貼り付けています。 シート2は、特別番号を付番する人の 氏名リストですが、ここでは、便宜上 小文字のアルファベットにしています。 ここでしたい処理ですが、売上日及び氏名を シート1に貼り付けた際に、特別番号対象者 (シート2のリストに挙がっている人) が入ってきたとき、自動的にシート1の A列のNOの列に「特別番号」 との文言を表示させたいのです。 実際に数字を表示するのではなく、 「特別番号」の文字列を表示させたいです。 IF関数とVLOOKUP関数でできると思うのですが よくわかりませんでしたので、教えてください。 NO 売上日 氏名 1 1月1日 A 2 1月2日 B 特別番号 1月3日 a 特別番号 1月4日 b 特別番号 1月5日 c 3 1月6日 D 4 1月7日 E 特別番号 1月8日 e 特別番号リスト(シート2) 氏名 住所 a 東京都 b 大阪府 c 神奈川県

  • ExcelのVLOOKUP関数で時刻を扱うと

    こんばんは。 提出用の勤務表を作ろうと思っています。 ほぼ同じフォーマットで、入力用(a.xls)と提出用(b.xls)のファイルが2つあります。 2つのファイルに入力するのも手間なので、VLOOKUP関数で時刻だけ呼びだそうとしましたが、0:00になります。 どうしてでしょうか。 A列に日付、B列に始業時間、C列に終業時間を入れています。 始業時間を呼び出すのは日付を検索値にしたので、関数式はVLOOKUP($A1,[b.xls]Sheet1!$A$1:$c$31,2,TRUE)で合っていると思います。 どちらも表示形式は"h:mm"です。

  • エクセルのVLOOKUP関数で・・・

    3時間ほど色々頑張ったのですが、もうお手上げなので教えて下さい・・・。 エクセルでシートが2つあり、シート2から一致するデータのみをシート1に持って行きたいのです。 具体的にはシート1には「F列/カナ氏名・G列/漢字氏名・H列/顧客番号・I列/生年月日」が設定されています。 ただしH列には顧客番号が入力されていません。 シート2より生年月日をキーにして引っ張ってくる予定です。 シート1には1000件データがあり、シート2に載っている該当者が200件程ヒットする予定です。 シート2には「A列/生年月日・B列/カナ氏名・C列/漢字氏名・E列/顧客番号」が設定されています。 仮に1行目からデータが入っているものとして、シート1のH1のセルに次の式を入れました。 =VLOOKUP(I1,'シート2'!範囲,5,FALSE) 範囲には実際の範囲を指定し、5列目がシート2の生年月日なので合ってると思うのですが・・・。 エラーは#N/Aというのが出てしまいます。 何処に問題があるのか分かりません。 説明が下手かもしれませんが、分かる方教えて下さい!

  • エクセル関数VLOOKUPで教えてください。 

    エクセル関数VLOOKUPで教えてください。  シ-ト1にA列から学籍番号・B列に氏名・C列に点数(数値)を記入してあります。 シ-ト2に順位表を作成しA列にLARGE関数を使用してシ-ト1から点数降順(昇順)に表示しました。シ-ト2のB列に学籍番号 C列に氏名 をVLOOKUP関数でシ-ト1から抽出したいのですが、点数が同点の場合に当該複数名を表示せず単一名になってしまいます。VBA・マクロを使用せずに関数のみで同一点数獲得者の氏名を個別個々に表示させる方法を教えてください。

  • エクセル:vlookup関数でこんなことをしたいのですが・・・

    よろしくお願いします。 vlookup関数のを使って次のような集計をしたいと思っています。 (1)【一月の集金】…挿入・名前の定義で「一月」とつけます。 山田太郎 3000 山田花子 2000 海山次郎 1500 ・・・以下150名ほど。2月から12月までも「別シート」で同じように作られています。1月から12月の氏名は同じ人間もいれば違うのもあり、ばらばらです。氏名コード化等されていません。 (2)【集計】      【1月】 (氏名)   A ...................B 1 山田太郎 =vlokkup(A1,一月.2,false)  2 海野五郎 ・・・ 3 ・・・・ 合計  (一月集金額合計) 同様に、集計欄の横に、2月、3月としていきます。 ここで、この例では、1月の山田花子が集計欄の氏名にもれています。当然、集計表で正確な合計がでません。ここでやりたいのが、「1月の表の山田花子が集計表でもれているよ」いうようなチェックです。たとえば、1月の表の山田花子に色がつくとか・・・ むずかしいことでしょうか?どうかご指導ください。 お待ちしています。人数が各月150人程度で12ヶ月のチェックですから、手作業チェックが大変なのと急いでいるので、お助けをお願いしたいのです。 どうかよろしくお願いいたします。

  • VLOOKUP関数について(初心者です)

    エクセルで <sheet1>    A     B     C  1  1 2  2 3  3 <sheet2>    A    B    C 1  1    りんご  3/1 2  2    みかん   3  3    いちご  3/20 というファイルがあります。 そこで <sheet1>のB1 のセルに =VLOOKUP(A1,sheet2!A:C,3,0) という関数を入れます。 (この例ではsheet1と2は同じになってますが  実際はセルの大きさや行が違います。  つまり、sheet2で入力したものを  sheet1でまったく違う形にしてプリントアウトしたいんです) 【ここからが質問です】 上記の場合で、 sheet2のC列に何も入力されていないとき sheet1のB1に何も表示しないようにできますか? 現在は#N/Aとなっています。 よろしくお願いします。

  • エクセルでVLOOKUP関数でエラーが出ました教えてください

    ある表を作り、違うシートに工種コードの表を作り 下記の関数を作ってみました =VLOOKUP(B5,工種コード!$C$2:$D$129,2,FALSE) すると #N/A このエラーが出ます ちゃんと表示されるところもあるのですが どうすれば良いか分かりません 教えてください

  • VLOOKUP関数??

    勤務予定表を作っています。 別のシートで月間勤務予定表は完成しています。 日付 16 17 18 19 20 21 22・・・ 名前 A   早 早 早 休 休 遅 早・・・ B   遅 遅 早 早 早 遅 休・・・  C   休 休 遅 遅 早 休 休 ・ ・ もうひとつ別のシートで、日付を指定すれば、その日付の列を検索して表示させたいのですが、どのような関数を使えばよろしいのでしょうか? 21 ←日付を指定 A 遅 B 遅 ←このように表示をさせたいです。 C 休 ・ ・ 質問がわかりづらくて申し訳ございませんが、よろしくお願いします。

  • VLOOKUP関数

    VLOOKUP関数を使って、CODEの値に応じて氏名を表示する表を作っています。 式は =VLOOKUP(A2,Sheet2!$A$2:$C$41,2,0) というような感じなのですが、フィルハンドルをドラッグして式をコピーすると、全て同じ人の氏名が表示されてしまいます。 おかしいなと思って、関数が入っているセルをクリックして、[関数の挿入]ボタンを押すと、数式の結果の所には正しい答えが出ていて、[OK]ボタンを押すと正しい氏名に変わります。 どうして最初のフィルハンドルドラッグの時点で正しい表示が出ないのでしょうか?

専門家に質問してみよう