• ベストアンサー

Excelのシート名を引用した関数は?

シート名"台帳"のA列に他のシート名を記載しておき、B列以降に、各シート名の必要な情報を引用表示させたい。その時のセルの関数はどうすればいいのでしょうか? シート名"台帳"   A  B      C     D 1 名前 生年月日  出身地   年齢 2 信長 ?(1)    ?(2)    ?(3)  3 秀吉 ?     ?     ?  4 家康 ?     ?     ?  シート名"信長"   A    B 1 生年月日 5/5  2 出身地  名古屋 3 年齢   50  この質問の表現で意味解りますか?

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

たとえば、セルA2に記載のシートのB1を参照したいなら =INDIRECT(A2&"!B1") です。

その他の回答 (2)

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

信長シート(A1:B3) 生年月日 5月5日 出身地 名古屋 年齢 50 ------- 家康シート(A1:B3) 生年月日 7月7日 出身地 静岡 年齢 60 --------- 秀吉シート(A1:A3) 生年月日 9月9日 出身地 尾張 年齢 55 ------------ Sheet1(台帳イーと)の B2に =INDEX(INDIRECT($A2&"!A1:B3"),COLUMN()-1,2) これを横方向にD2まで式を複写。B2:D2を範囲指定しD2で+ハンドルを出して、下へ引っ張る。 --------- 結果 名前 生年月日 出身地 年齢 信長 5/5 名古屋 50 秀吉 9/9 尾張 55 家康 7/7 静岡 60 横見出し=第1行、名前 生年月日 出身地 年齢 縦見出し第1列の、信長、秀吉、家康は手入力。 日付列は日付書式、年齢列は数の書式 を設定すること。 上のやり方だと、VLLOUPは不要でした。

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

次の方法は如何でしょうか。 シート台帳のB2セル=VLOOKUP(B$1,INDIRECT($A2&"!A1:B3"),2,0)を設定し、右方向にコピーして下さい。 ※年齢セルの表示形式が日付になった場合、標準に変更して下さい。

関連するQ&A

  • sheet2からsheet1へのデータの飛ばし方(エクセル関数)

    Sheet1 A  B C D E (列) ―――――――――――――――――――――――― 1| 番号  氏名   所属  入社  生年月日 2| 1000  斉藤   東京  10/4  (入力箇所) sheet2 A B C D (列) ――――――――――――――――――― 1| 番号  氏名  所属  生年月日 2| 1000  斉藤  東京  1988/11/1 sheet1のE行(生年月日)にsheet2を参照し、同じ番号の人の生年月日が表示されるようにしたいのですが、どのような式(関数)を入れたら表示されるでしょうか? ほかの似たような質問の解答を見てMatchやvlookupを使ってみましたが、できなかったので教えてください。 よろしくお願いします。

  • エクセル DATEDIF関数

    色々調べたのですがよくわかりません。 DATEDIF関数で年齢計算させたいと思います。 適当なセルに本日の年月日を表示させ、 A列に生年月日、B列に年齢を出そうと思います。 そのため、B1にDATEDIF関数を入れ、B2から下の行に、この関数をコピーしました。 この結果、A列に生年月日を入れれば隣のB列に年齢は出るのですが、A列に生年月日を入れなくても、B列には生年月日を1900年とした年齢が表示されます。 (今年なら118歳が表示されます。) 生年月日を入れていない行には年齢を表示させたくないのです。 入力した人だけの平均年齢を出したいのですが、この118歳が邪魔になります。 どうすればいいのでしょうか。

  • エクセルの関数を使って別のシートに文字の一部を返す

    シート1のA列に住所コード、B列に市を入力する欄、シート2のA列に住所コード、B列に県から始まる住所録のデータがある場合、例えばシート2のB列1行目にある愛知県名古屋市という文字列のうち、名古屋市という文字だけをシート1のB列1行目に返したい場合はどのような関数を使えばよいでしょうか? よろしくお願い致します。

  • エクセルのシート名参照関数

    エクセル関数でいろいろ試したのですがうまくいかず困っています。 VBAは出来ないので(苦手なので)できましたら関数で教えてください。 12年1月~12年12月で別々のシートがあり、それぞれ別の『行』『列』に参照をしたい数字があります。 集計シート名『Sheet1』の『A1』に『検査値』、『B1』~『B12』に『12年1月』~『12年12月』、『C1』~『C12』に『該当する値』を表示したいと思います。 具体例 <シート名 : Sheet1> ---A-----B----C 1 リンゴ 12年1月 値 2 -----12年2月 値 3 -----12年3月 値 4 -----12年4月 値 5 -----12年5月 値 <シート名 : 12年1月> ---A----B 1 リンゴ 100 2 バナナ 50 3 メロン 10 4 スイカ 5 5 ミカン 1 <シート名 : 12年2月> ---A----D 1 パイン 10 2 バナナ 20 3 メロン 30 4 リンゴ 40 5 ミカン 50 <シート名 : 12年2月> ---A----F 1 パイン 10 2 バナナ 20 3 スイカ 30 4 リンゴ 40 5 ミカン 50 <シート名 : 12年3月> ---A----C 1 パイン 1 2 レモン 10 3 リンゴ 100 4 メロン 1000 5 イチゴ 10000 上記<シート名 : Sheet1>の『C列』に式を入れ、それぞれのシートから『A1』に該当する値を表示させたいと思います。 文書が下手ですのでわかりにくい内容で申し訳ありません。

  • excelのvlookup関数で勝手に引用符がつく

    excelのvlookup関数を使ってあるシートを作っています。 「basedata」というシートに3列表をつくり、1番左にキー、2番目と3番目に値をいれ、この表を別シートから検索にいっています。 検索元のシートには 文字列 文字列からMID関数で切り出した数値 検索1 検索2 の4列があります。 やりたいことは2列目の切り出した数値を元にして、basedataのキーを検索しにいき、検索1の列にbasedataの2列目の値を、検索2に3列目の値をいれたいと思っています。 =IF(ISERROR(VLOOKUP(B2,basedata!A2:E56324,2,0))=TRUE,"",VLOOKUP(B2,basedata!A2:E56324,2,0)) という式を検索1のセルに入力した場合、何も表示されず、B2に実際に入っている値を引用符なしで直うちすると値が表示されます。ステップインで分析すると、参照にした場合、参照値が引用符で囲われており、これが原因かと思うのですが、何か回避方法はないでしょうか。

  • エクセルでシート名にする関数は

    例えば 東京 大阪 京都 と何十枚ものシートがあります。 ある統計を取るために 東京のM3の値を統計シートに表示したい。 京都のM3の値を統計シートに表示したい... 統計にシートのA1には東京とかA2には京都という シート名が表示されています。 この統計を取るシートのA列の値は規則性がありません。ただし、M3は固定です。 とりあえず、手入力でしましたが、=東京!$M$3 でもA1の値がシート名と認識してくれるものがあると コピーすると助かるなーと思ったので、なにかあれば教えていただけると助かるのですが... うまく伝えられてるでしょうか?

  • 別シートのセルを3つ飛ばしで引用したいです

    初心者の為、説明不足になりましたらすいません。 Excel2007を使用しているのですが、別シートのセルを3つ飛ばしで引用したいのですが出来なくて困っています。 例えて言うと・・・ シート名:商品別      列A   列B  列C 行1   商品1  単価  2000 行2       販売数 20 行3       売上  40000 行4   商品2 単価  1000 行5       販売数 10 行6       売上  10000      ・      ・      ・ というシートの、売上の金額の部分だけ(例ではセルC3、C6・・・)別のシートに シート名:売上一覧      列A   列B 行1   商品1  40000 行2   商品2  10000 行3   商品3 25000      ・      ・      ・ というように列Bに引用したいのですが、3つ飛びなのでオートフィルでは =商品別!C3 =商品別!C4 =商品別!C5 ・・・ となってしまいます(泣) 手入力で =商品別!C3 =商品別!C6 =商品別!C9 ・・・ と入力すればよいのですが、引用しなきゃいけない行が1000行あるし 他のシートでも同様の事をしなければいけないので、関数を使用して 入力する方法があったら教えて欲しいです☆ どうかお知恵を貸して下さい☆ よろしくお願いします☆

  • エクセルの関数についての質問です。

    DATEDIF関数を使って生年月日から年齢を求める式を作り、それにIF関数を組み合わせたいと思って試したのですが、うまくいきませんでした。何か良い方法があったら教えて下さい。 A1に生年月日を入力し、B1に、 =DATEDIF(A1,TODAY(),"Y") で年齢を求め、オートフィルで複写すると、A列に生年月日を入力していない場合、B列にある数値が 出てしまうので、A列が空白の時は、B列も空白にしたいのです。そこで =IF(A1="",B1="",DATEDIF(A1,TODAY(),"Y")) としてみたところ 循環参照 している。と言うエラーメッセージがでてしまいます。 よろしくお願いします。

  • EXCELの関数で別のシートからデータを取り出す方法について

    こんばんは。 excelの関数で次のようなことができますか? sheet1 A     B   C 123 125 122 sheet2 A    B    C     D 122            りんご 123           みかん 125            バナナ 上記のようなデータがsheet1とsheet2にあります。 sheet1のC列にA列のセルの番号と対応した商品を sheet2のA列とD列に対応データから引用できますか? (となりに並んでいないデータです。) 関数的にはvlookup,index,matchとかを使うとよさそうですが うまくいきません。 解決方法を教えてください。 よろしくお願いします。

  • セルからシート名を得る

    シート「メイン」のA列に、 1 2 3 4 とあって、シート「1」~「4」のA1セルに入力されているデータを、シート「メイン」の数字の横(B列)に表示させたいです。 B1に='1'!A1 B2に='2'!A1 ・・・などとやっていけばできますが、「メイン」のA列の数字をシート名に変換して式を書くことはできませんか? よろしくお願いいたします。

専門家に質問してみよう