• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:他のシートのセルの値を引用したい)

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

このQ&Aのポイント
  • EXCEL2007でマクロ作成中の初心者です。他のシートのセルの値を引用したい方法について教えてください。
  • シートのA列に名前が書いてあり、その名前の横のB列に他のシートの番号を入れたいです。
  • 他のシートに可変の表があり、名前のあるセルのみ上の番号を表示したいです。よろしくお願いします。

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

  • ベストアンサー
noname#146604
noname#146604
回答No.3

シート「名前」のA列に名字、シート「数字」の1行目に数字、2行目に名字が入っているとすると シート「名前」のB1セルに以下のセルを貼り付け、下方向に引っ張っていくとご希望の通りに出来ると思います。 =INDEX(数字!$1:$2,1,(MATCH(A1,数字!$2:$2,0))) 参照範囲が異なっていれば適時修正して下さい。

aitaine
質問者

お礼

今やってみました。完璧にできました。ありがとうございます。感謝感激です。

その他の回答 (2)

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

質問が判りにくい。課題が2個あるのか? それを分けて、箇条書きにでもして、はっきりさせて質問文を書くこと。 (1)1つは名前の同行横列に番号を入れたい。 VBAでやるなら、Findメソッドを勉強せよ。 あるいはマクロの記録で編集ー検索の操作をして、コードがどうなるかを勉強せよ。 佐藤は他シートでは2度出ないとする。 VBAでせずとも、VLOOKUP関数で出来るはず。#N/Aが出るのは式の組み立てが悪いから。実例をWEBででも探せ。 Googleででも「エクセル VLOOKUP関数」で照会せよ。第2引数では絶対番地指定にせよ。 (2)Sheet2(他のシートのこと。仮にてなずけて名付けて質問に書け)で表の名前から番号を引いて、名前の上の行に番号を表示したいのか これもVLOOKUP関数デモできるだろう。VBAならFindメソッドで出来る。 ーー (2)のみ 例データ Sheet2 A1:B5 佐藤 1 木村 9 加藤 5 田中 7 伊東 3 Sheet3 第3行目(-は空白セル) ー 佐藤 ー 伊東 ー 加藤 ー 田中 ー 木村 コード Msgboxは納得後に削除する。 Sub test01() r = Worksheets("Sheet3").Cells(3, 256).End(xlToLeft).Column MsgBox r For j = 2 To r Step 2 nm = Worksheets("Sheet3").Cells(3, j) MsgBox nm Worksheets("Sheet2").Select Worksheets("Sheet2").Range("A:A").Find(what:=nm).Select Worksheets("Sheet3").Cells(2, j) = Selection.Offset(0, 1) Next j End Sub ーーー 実行後 Sheet3 ー 1 ー 3 ー 5 ー 7 ー 9 ー 佐藤 ー 伊東 ー 加藤 ー 田中 ー 木村

aitaine
質問者

補足

申し訳ございません。伏してお詫び申し上げます。無能をおゆるしください。 もう一度整理いたしました。よろしくお願いします。 あ)シート名「名前」のセルA1に佐藤の文字 い)シート名「数字」のセルA1からE1にそれぞれ 3、8,9,10,15の数字 う)シート名「数字」のセルA2からE2にそれぞれ 伊東,加藤,田中,佐藤,中川の文字 え)シート名「名前」のセルB1に 関数を入れ10という数字を表示させる。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

マクロでなくて Vlookup関数ではだめだったのでしょうか。 番号を表示したいシートのB列に =Vlookup(A2,番号が入っているシート!A:B,2,FALSE) と入れて下へコピーすればOKと思います。 もう一つのシートも同様で =IF(B2="","",=Vlookup(B2,番号が入っているシート!$A:$B,2,FALSE)) と入れて右へコピーです。 どうしてもマクロが必要な状況なのか とりあえず、マクロを勉強してみたい など補足していただければ、それに合った回答が付くと思います。

aitaine
質問者

補足

B列に番号を入れたいのです。Vlookup関数でもいいです。      A       B     1 佐藤      =Vlookup(A2,番号が入っているシート!A:B,2,FALSE)   2 伊東   3 加藤   4 以下つづく 教えていただいた式をいれると、#N/A となってしまいます。 番号が入っているのシートの表は可変の表です。名前は次の列は空白です。 名前のあるセルのみ上の番号を表示したいです。 、       A    B    C    D    E     F   G  →以下つづく    1     2 番号    1     2    3     4    5    6   7   →以下つづく    3 名前   佐藤        伊東       加藤      田中  →以下つづく

関連するQ&A