• ベストアンサー

【エクセル】一覧の値を複数シートの決まったセルに表示させたい。

いつもお世話になっております。 [Sheet1]の一覧の値を、複数シートの決まったセルに表示させたいと思っております。 [Sheet2]から[Sheet1]のデータを引っ張ってくるような 数式などありましたら教えて下さい。 ex)[Sheet2]の(B1)に鈴木、(B2)総務部と表示させたい。 ex)[Sheet3]の(B1)に佐藤、(B2)人事部と表示させたい。 ()内の文字はセルの名前です。 宜しくお願いします。 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ [Sheet1] (A1)シート名 (B1)名前 (C1)部署名 (A2)Sheet2  (B2)鈴木 (C2)総務部 (A3)Sheet3  (B3)佐藤 (C3)人事部 [Sheet2] (A1)名前  (B1)鈴木 (A2)部署名 (B2)総務部 [Sheet3] (A1)名前  (B1)佐藤 (A2)部署名 (B2)人事部

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

  • ベストアンサー
  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.2

#1です。 ということでしたら、こんな数式でどうでしょうか。 =LOOKUP(RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename"))),Sheet1!A:A,Sheet1!B:B) シート名を取得するのに手間が掛かるので長くなってしまいました。 シート名は手入力でよいというのなら、 =LOOKUP("Sheet2",Sheet1!A:A,Sheet1!B:B) といった感じでよいですが、それでは本末転倒ですよね。 数式ではないですが、名前を使う方法もあります。 シート1のB2のところにカーソルを合わせた状態で、メニューの[挿入]-[名前]-[定義]を選択してください。 名前の下のテキストボックスには質問の例のままのデータなら鈴木と入っているはずです。 これをSheet2(もしくはお好きな名前)に変更して[追加]ボタンを押してください。 これでこのセルにはSheet2で参照できることになりました。 参照したいセルで =Sheet2 とすればこのセルに参照できます。

uentks_2005
質問者

お礼

ありがとうございます! このような数式を待っていました。 思い通りに動いています。 助かりました。

その他の回答 (2)

回答No.3

シート数が多い場合は、以下のようなVBAを使ってやる方が早いでしょう。 (1)VBAのコントロールツールボックスから、コマンドボタンをクリックしてSheet1の好きな場所に貼り付け (2)そのボタンをダブルクリックしてコード入力画面表示 (3)その部分に以下のコードをはりつけ Private Sub CommandButton1_Click() Dim a, b, c As String Dim n As Integer n = 2: 'Sheet数 For i = 1 To n 'データ呼び出し a = Worksheets("Sheet1").Cells(i + 1, 1).Value: 'Sheet名 b = Worksheets("Sheet1").Cells(i + 1, 2).Value: '名前 c = Worksheets("Sheet1").Cells(i + 1, 3).Value: '部署名 'データコピー Worksheets(a).Cells(2, 1).Value = b Worksheets(a).Cells(2, 2).Value = c Next i End Sub (4)後は、ボタンをクリックして実行。

uentks_2005
質問者

お礼

VBAは未経験なので、今回は数式で試してみます。 ありがとうございました。

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.1

シート間のセルの参照は簡単です。 セル指定の前に「シート名!」を付加するだけです。 例えば、シート1のB1の値をシート2に表示するには、 =Sheet1!B1 とするだけです。

uentks_2005
質問者

補足

説明不足で申し訳ありません。 [Sheet2]から[Sheet1]を参照する場合は、 > =Sheet1!B2 で良いと思うのですが、 [Sheet3]から[Sheet1]を参照すると =Sheet1!B3となり、各シートごとに参照先を変更しなくてはなりません。 都度参照先を変更しなくても良いように、 [Sheet1]のA列にあるシート名を使って、自動的に参照できるような方法はないでしょうか?

関連するQ&A

  • 複数のシートから一覧表を作成する方法

    次のことを実現させる方法を教えてください。 シート 「あ」「い」「う」があります。 ※例としてはシートを3つあげましたが、 このシートはどんどん数が増えていきます。 シート「あ」   A   B 1 鈴木 1976/1/1 シート「い」   A   B 1 佐藤 1977/1/1 シート「う」   A   B 1 山田 1978/1/1 そこから一覧表を作成したいのです。 その一覧表のシート名を「一覧表」とします。 シート「一覧表」(実現したいシート内容)   A    B   C 1 シート名 名前 生年月日 2 A     鈴木 1976/1/1 3 B     佐藤 1977/1/1 4 C     山田 1978/1/1 参照元のシートが固定されているなら   A    B   C 1 シート名 名前 生年月日 2 あ    あ!A1 あ!B1 3 い    い!A1 い!B1 4 う    う!A1 う!B1 と直接参照先を書けばいいのですが、 この方法では、シートが増えるたびに B列、C列にえ!A1 え!B1というように参照先を その都度書いていかなければいけません。 だから、一覧表で、シート名(A列)を入力ただけで、 自動的にそのシートに記載されている 名前と生年月日が反映されるようにしたいのです。 例えば今A3には「い」と記載されていますが、 これを「あ」と変更すると 以下のようにしたいのです。 B3のセルの中身は い!A1 → あ!A1 C3のセルの中身は い!B1 → あ!B1 一覧表のセルB列、C列にどのように記入すれば自動化できるでしょうか?

  • エクセルで条件に一致したセルの隣のセルを取得したい

    下のような「得点」という名前のシートがあります。 (「田中」のセルがA1です。)  [ 田中 ][ 10 ][ 200 ]  [ 山田 ][ 21 ][ 150 ]  [ 佐藤 ][ 76 ][ 250 ]  [ 鈴木 ][ 53 ][ 350 ] 別のシートのA1セルに、「佐藤」と入力すると、  [ 佐藤 ] 「得点」シートから「佐藤」の列を見つけて、B1、C1に  [ 佐藤 ][ 76 ][ 250 ] のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。 「得点」シートでは氏名が重複する事はありません。 IF文を使うと思うのですが、いまいち良く分かりませんでした。 よろしくおねがい致します。

  • エクセル:複数シートのデータを一覧シートに自動的に表示させるには?

    エクセル:複数シートのデータを一覧シートに自動的に表示させるには? こんにちは。 以前同じ質問をさせて頂いたのですが、締め切った後で試したところ どうにもうまくいかず(試さずに締め切ってしまった私が悪いのですが・・)、 もう一度質問させていただきます。 複数シート(6シート程度)に同一形式のリストがあり、あるシートに入力していくと 同一ファイル内の「一覧シート」に自動的にID番号順に表記される(※下記参照) というようにしたいと考えております。 何かよい方法はありますでしょうか? お知恵を拝借できれば幸いです。宜しくお願い致します。 (例) Sheet1 ID 日付     名前  達成度・・・(項目=15項目ぐらい) 1 2010/10/17  山田  A 4 2010/10/30  鈴木  A ・ ・ ・ (それぞれのシートに100個ぐらいのリスト) Sheet2 ID 日付     名前  達成度・・・ 2 2010/10/17  佐藤  C 3 2010/10/20  中村  B ・ ・ ・ 一覧シート ID 日付     名前  達成度・・・ 1 2010/10/17  山田  A 2 2010/10/18  佐藤  C 3 2010/10/20  中村  B 4 2010/10/30  鈴木  A ・ ・

  • excelで検索用シートを作りたい。

    お世話になります。 excelでわからない事があり、困っています。 検索用シート      データシート    A  B      A    B   C 1 部署名 (空欄)  1 部署名 担当者 書類名 2 担当者 (空欄) 2 総務部 鈴木  新人用の書類 3 書類名 (空欄) 3 人事部 田中  部長の書類 上図の様に検索用シートとデータ用シートが同じBook内にあります。 検索用シートのB列は空欄になっており、例えば(1-B)に検索したい部署名の一部、又は全てを入れると、(2-B)及び(3-B)にその部署名に対応した、担当者、書類名が表示 される。 また、検索結果が複数ある場合には、上のものから順々に検索用シートの空欄に表示される。 部署名での検索以外にも、同様に担当者、書類名でも検索できる。 この様な仕様にしたいのですが、どのすれば良いでしょうか? どうぞよろしくお願い致します。

  • 条件にあった複数データを組合わせて別のセルに表示するには?

    例えば、以下のデータがセルに入っていたとして A列には姓 B列には名 A1:鈴木  B1:一郎 A2:鈴木  B2:次郎 A3:鈴木  B3:三郎 A4:佐藤  B3:あきら A5:佐藤  B3:けんた 同じ姓にあてはまるデータの名を、組合わせて別のセルに表示したいのです。 結果イメージ C1:鈴木  D1:一郎 次郎 三郎 C2:佐藤  D2:あきら けんた このようなことAccessかExcelで出来ますか?

  • EXCEL 一覧シートから各シートへ参照

    現在シートが 一覧、1、2、3、 とあります。 一覧シートには、 シート名(A1) 名前(B1) 1(A2) 山田(B2) 2(A3) 鈴木(B3) 3(A4) 木村(B4) と記載されております。(カッコ内は、セルの位置です) シート 1 のA1には、山田 シート1のB2を参照 シート 2 のA1には、鈴木 シート1のB3を参照 シート 3 のA1には、木村 シート1のB4を参照 とシート 一覧から参照して表示されるようにしたい と考えております。 数字の名前のシートが数個であればシート毎に入力すれば済む話ですが、 予定では、順次増え、最終的には100位になる予定です。 数式、マクロ VBA 等を使って  一覧シートに名前を入力すると該当のシートのA1セルに参照させる事は可能でしょうか? よろしくお願いいたします

  • 【エクセル】複数シートの値を参照して連続で表示する(一覧シートを作る)には

    いつもお世話になってます。 エクセルで教えて下さい。 Sheet佐藤    品名   単価  数量  価格 1  いちご  100    5   500 2  ばなな  200    3   600 Sheet鈴木    品名   単価  数量  価格 1  めろん  500    1   500 2  ばなな  200    5  1000 と入力されていて、これを元に、 Sheet一覧    氏名  品名   単価  数量  価格 1  佐藤  いちご  100    5   500 2  佐藤  ばなな  200    3   600 3  鈴木  めろん  500    1   500 4  鈴木  ばなな  200    5  1000 と表示させたい。 Sheet佐藤・鈴木はそれぞれ行の追加・挿入・削除されることがあり、 その都度Sheet一覧に反映させられるようにしたいのですが、どのようにしたら可能でしょうか? (例えばSheet佐藤の2行目を削除した場合、 Sheet一覧    氏名  品名   単価  数量  価格 1  佐藤  いちご  100    5   500 2  鈴木  めろん  500    1   500 3  鈴木  ばなな  200    5  1000 となるように) また、タイトルとは質問が反れますが、 「価格」の列に「=B2(単価)*C2(数量)」という式が入っている場合、 1:式を変更されたくないので保護をかけたい。 2:保護をかけると行削除が出来ない。 3:行を挿入したら自動的に同じ式が入るようにしたい。 という希望を満たすにはマクロしかないでしょうか? (マクロは初心者でほとんどわからないので・・・) どうぞよろしくお願いします。

  • 複数のシートのセル内容をひとつにまとめたい

    複数のシートのセル内容をひとつにまとめたいと思っています。 Sheet1        Sheet2      Sheet3 1 山田 ¥100  1 山田 ¥80  3 鈴木 ¥80 2 佐藤 ¥130  2 佐藤 ¥55  4 田中 ¥150 3 鈴木 ¥110  4 田中 ¥60 こんなデータを Sheet4 1 山田 2 佐藤 3 鈴木 4 田中 とまとめたいんです。 金額は必要ないので、番号と名前だけをまとめたいんです。 どうすれば良いか、教えてください。 よろしくお願いします。

  • 他のシートのセルの値を引用したい

    EXCEL2007でマクロ作成中の初心者です。今困っています。お助けください。 シートのA列に名前が書いてあります。 その名前の横B列に番号を入れたいのです。      A       B     1 佐藤   2 伊東   3 加藤   4 以下つづく 横B列の番号は他のシートにあります。現状では以下の番号になります。     A          B     1 佐藤        1   2 伊東        3   3 加藤        5   4 以下つづく 他のシートに以下の表があります。これは可変の表で、名前は次の列は空白です。 名前のあるセルのみ上の番号を表示したいです。 、       A    B    C    D    E     F   G  →以下つづく    1     2 番号    1     2    3     4    5    6   7   →以下つづく    3 名前   佐藤        伊東       加藤      田中  →以下つづく わかりにくいかもしれませんがよろしくお願いします。

  • エクセルで条件に一致する複数の列を取得するには

    下のような「得点」という名前のシートがあります。 (「田中」のセルがA1です。)  [ 田中 ][ 10 ]  [ 山田 ][ 21 ]  [ 佐藤 ][ 76 ]  [ 鈴木 ][ 53 ] 別の「組」シートで、以下のようになっています。  [ A ][ 田中 ]  [ A ][ 佐藤 ]  [ B ][ 山田 ]  [ C ][ 鈴木 ] ここで、「組」シートのどこか空いているセル(例えばF1)に、 「Aの組の点数の合計値」を表示したいと思っています。 考えた方法としては、  1.まず「組」シートのA1からD1を順番に見て、  2.値が「A」になっている場合のみ、そのひとつ右の名前を取得して、  3.「得点」シートで、取得した名前を探し、その点数を取得し、  4.それを全て足す という感じなのですが、どういう式を書けば良いのか分かりません。 度々すみませんが、よろしくおねがい致します。

専門家に質問してみよう