こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

いつもお世話になっております。
[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)人事部

投稿日時 - 2006-02-20 13:57:42

QNo.1978905

すぐに回答ほしいです

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

#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 とすればこのセルに参照できます。

投稿日時 - 2006-02-20 16:46:47

お礼

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

投稿日時 - 2006-02-20 17:34:46

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.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)後は、ボタンをクリックして実行。

投稿日時 - 2006-02-20 17:21:16

お礼

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

投稿日時 - 2006-02-20 19:04:33

ANo.1

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

=Sheet1!B1

とするだけです。

投稿日時 - 2006-02-20 14:24:30

補足

説明不足で申し訳ありません。

[Sheet2]から[Sheet1]を参照する場合は、
> =Sheet1!B2
で良いと思うのですが、

[Sheet3]から[Sheet1]を参照すると
=Sheet1!B3となり、各シートごとに参照先を変更しなくてはなりません。

都度参照先を変更しなくても良いように、
[Sheet1]のA列にあるシート名を使って、自動的に参照できるような方法はないでしょうか?

投稿日時 - 2006-02-20 14:46:25

あなたにオススメの質問