• ベストアンサー

エクセルの質問です

表作成をしてるのですが 例えば 予め登録している表が下記のようなもので      A      B     C 1.   名前    登録no.   給料 2.   名前    登録no.   給料 でこのデータから次のような表に反映させたいのですが      A      B     C 1.   登録no.   登録no.  登録no. 2.   名前     名前    名前 3.   給料     給料 給料 というかたちの表に名前を入力したら登録no.も給料も 入るようにしたいのですが。。 VLOOKUPでは出来なくて良い方法があればと思い 質問しました。 よろしくおねがいします。

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

  • ベストアンサー
  • hinebot
  • ベストアンサー率37% (1123/2963)
回答No.4

本質問については、恐らく#2の方の回答で要求を満たしていると思います。 さて、本質問とは直接関係なくて恐縮ですが、先日の質問 http://oshiete1.goo.ne.jp/kotaeru.php3?q=800282 で、コピーでうまく行かないという件についてですが(上記質問が締め切られてましたので、こちらで失礼します)、#2の方が例示された式のように、セル番号を変えたくない部分に $をつければ固定されます。 =IF(COUNTIF(Sheet1!$A:$A,A$2),VLOOKUP(A$2,Sheet1!$A:$C,2,FALSE),"") で言えばCOUNTIF関数の中の「$A:$A,A$2」とかVLOOKUP関数の中の「A$2」や「$A:$C」が該当します。 例えば、「A1」に対して、「A$1」とすると コピーしたときにB1,C1,…のように列が変わることがあっても、行の「1」は固定されたままとなります。 同様に「$A1」とすると、A2,A3,…と行が変わることがあっても、列の「A」は固定されます。 行も列も固定して必ずセルA1だけを参照するようにするには「$A$1」と両方に"$"を入れればOKです。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=800282
makipee
質問者

お礼

コピーの問題解決できました^o^ ありがとうございます~ エクセルほんと奥が深くて 難しいです。 良ければ下の方で補足に書いた 質問にも解答頂けるとうれしいです。 まだまだ勉強中なので よろしくお願いします。

その他の回答 (5)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.6

No.2です。 補足欄について。 G14に、 =IF(COUNTIF(登録メンバー!$A:$A,G$15),VLOOKUP(G$15,登録メンバー!$A:$C,2,FALSE),"") G20に、 =IF(COUNTIF(登録メンバー!$A:$A,G$15),VLOOKUP(G$15,登録メンバー!$A:$C,3,FALSE),"") と入力して、それぞれ右へコピー。 ちなみに、No.3のお礼欄について。 今回は、検索列が左端にあるので、問題なくVLOOKUP関数で出来ます。

makipee
質問者

お礼

できました~~~TT ありがとうございました^^

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

Noは重複してないものとします。 (データ)B1:D10に a 1 aa b 2 bb c 3 cc d 4 dd e 5 ff f 6 gg g 7 hh h 8 jj I 9 kk j 10 ll (指定) F1、G1、・・に数値を入れる。 (関数式) F2に=OFFSET($A$1,MATCH(F1,$C$1:$C$10,0)-1,1) F3に=OFFSET($A$1,MATCH(F1,$C$1:$C$10,0)-1,3) を入れる。 F1に4を入れるとF2はd、F3はddが出ます。 横に複写します。 第1行にデータが無いとエラーがでるので =IF(I1="","",OFFSET($A$1,MATCH(I1,$C$1:$C$10,0)-1,1))のようにすれば、防げるでしょう。

makipee
質問者

お礼

すみませんよくわからなくて。。 どれがどの値になるのか おしえていただけますでしょうか? 下の方の補足で書かせていただいた 質問にできたら回答下さい よろしくおねがいします。

  • w-inty
  • ベストアンサー率33% (76/227)
回答No.3

VLOOKUPは一番左に検索値がある場合にちゃんと働きますので、そのように変更するか、別関数を使うか、VBAを使うという方法がいいのではないでしょうか?

makipee
質問者

お礼

そうなんですね。。左端にないとだめなんですよね。。 VBAはむずかしそうなので 無理かな。。。 有難うございました

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 >名前を入力したら登録no.も給料も >入るようにしたいのですが。。 ということは、A2に名前を入れると、A1とA3に値が表示されるということでしょうか? それなら、元の表がSheet1にあるとして、下の表のシートのA1に、 =IF(COUNTIF(Sheet1!$A:$A,A$2),VLOOKUP(A$2,Sheet1!$A:$C,2,FALSE),"") と入力して右へコピー また、A3に、 =IF(COUNTIF(Sheet1!$A:$A,A$2),VLOOKUP(A$2,Sheet1!$A:$C,3,FALSE),"") と入力して右へコピー これで出来ると思います。

makipee
質問者

補足

解答有難うございます。 参考にしてチャレンジしてみたいのですが どれがどの値なのか ちょっと分からないので 教えていただけますでしょうか? 実際の値を書いておきます。 ”登録メンバー”というシートにA欄に名前B欄に登録no. C欄に給料で290行まで登録内容が入ってます。 で、別シートのG15に名前を入れたら、G14に登録No.、G20に給料が入るような形にしたいのですが。。 どうぞよろしくお願いします。

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.1

参照する表は名前欄が昇降順で並んでいますか。 VLOOKUPで出来ると思いますが。

makipee
質問者

お礼

うまく反映されないのです。。 いろいろ試してみてるのですが^^; ありがとうございました

関連するQ&A

専門家に質問してみよう