• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel の vlookupの使い方)

Excelのvlookupの使い方

このQ&Aのポイント
  • Excelのvlookupを使って、複数のシートから指定した単語の横3マス目をまとめたい場合、どのようにすればよいかについて教えてください。
  • 具体的な式として、=Vlookup($a3,sheet1’!$a7:$c120,3,false)のように書かれていますが、この式を右へコピペした場合、自動的にシート名が変わる方法はありますか?また、単語は各シートでランキング形式になっており、順位はバラバラです。
  • 以下のイメージになるように設定したいです。 ランキング 1月 2月 3月 4月 5月 田中     2位 3位 1位 2位 3位 鈴木     6位 7位 5位 4位 5位 なるべく短い式で実現する方法を教えてください。

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

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

VLOOKUP関数のことを聞いたからって、すぐ(マス目なんて言っているレベルで)質問者のこの課題は、今は取り組むのが無理だとおもう。 ーー そもそも質問の文章での説明が曖昧いだ。 それで仕方なく、質問者の聞きたいこととは、多少間違っているかもしれないが、小生なりに大幅推測して、下記を説明する。 外れていても、下記を理解すれば、他で役立つはず。 ーー シートは3枚の例にする。あまり多いと説明がややこしくなるだけなので。 質問には、データ例をまず作って、挙げよ。そしてほしい最終形をシートに、手作業で(関数では今はできないのだから)作れ。 関数の書物でも、WEB記事でも、シートのデータ例を挙げてないものはないよ。 ーーー まず、3枚のシートは同じ形式にするべきだということ。 (1)シート名 1月ランク(1を半角か全角のどちらにしたか、に注意) A1:B7 1月ランキング表 <-表の見出し 氏名 (A列) ランキング(B列)  <ー項目の見出し 田中 2  以下データです。A,B列 中村 3 山田 4 鈴木 5 入江 1 (2)シート名 2月ランク(2の半角か全角に注意) A1:B9 2月ランキング表 氏名 ランキング 入江 3 田中 2 山中 1 中村 4 山田 6 山村 5 鈴木 7 (3)シート名 3月ランク(3の半角か全角に注意) A1:B7 3月ランキング表 氏名 ランキング 田中 3 中村 2 山田 1 鈴木 4 入江 5 (4)集約表シートとして シート名 ランク推移 下記は関数を入れて式を複写して出てきた内容です。 A1:D6 結果データ -- 1月 2月 3月 田中 2 2 3 中村 3 4 2 山田 4 6 1 鈴木 5 7 4 入江 1 3 5 ーーー 集約表シートのB2セルに 関数式  =VLOOKUP($A2,INDIRECT(B$1&"ランク!$A$3:$B$10"),2,FALSE) を入れて、B2式を右方向に式を複写。D列3月まで。 またB2:D2の式を下方向に式を複写する。 === エクセル関数の色んな知識を動員する、エクセル関数の、上級の課題だと思う。 ただINDIRECT関数を使うことは、この世界(回答者レベルやWEB記事)では常識化している。

その他の回答 (3)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.3

>これのsheet1を右へコピペ?した時にsheet2、sheet3………という感じに勝手に変わるように出来ないでしょうか? できます。(回答No.2のようにINDIRECT関数を使う) >この式だと下のマスに写した際にb3という風に変わらないので下に写すときは指定マスの部分が変わり、右にやるときはシートが変わるという式があればお願いします。 「下のマス」を「下のセル」と表現して頂きたいですね。 数式の中で$A3が下のセルへコピーしたときは$A4に変化しますがB3に変化させるにはOFFSET関数を使う必要があると思います。 >ピックアップする単語は各シートでランキング形式になっており順位はバラバラです。 幾つかのSheetの模擬データを提示して頂ければ具体的な数式を提示できると思います。 元データと集計結果(手計算で可)を見れば其々のセルでどのような計算をすれば良いかが分かりますので実際のデータではなくても良いので模擬データを提示してください。

  • SI299792
  • ベストアンサー率47% (777/1625)
回答No.2

この式はどこに入れてあるのでしょうか。 B列にSheet1を出力したいのなら、 =VLOOKUP($A3,INDIRECT("Sheet"&COLUMN(B3)-1&"!A7:C120"),3,FALSE) です。

  • skydaddy
  • ベストアンサー率51% (388/749)
回答No.1

Excelの関数ではコピーで自動的に内容が変わるのはセル番号だけです。 シート名は数字ではなく文字なのでそのような処理が一般化できないのでそのような機能が付いていないと考えられます。 VBAを使ってシート名を文字変数で処理することはできます。

関連するQ&A

専門家に質問してみよう