• ベストアンサー

Excelに詳しい方、お力をお貸しください(>_<)

Excelで困っています。 膨大なデータがありまして・・・例えば、 A-------------B------------C-------------D    番号---------果物---------原産地--------価格 100----------ぶどう--------岡山----------100円  101----------さくらんぼ-----山梨----------100円 102----------ゴーヤ-------沖縄----------100円 103----------バナナ------フィリピン-------100円 ・ ・ ・ といったデータが1つのシート(シート[1])のセルに入力されているとします。 そして、別の真っ白なシート(シート[2])には、 A 番号 102 103 101 100 ・ ・ ・ と、番号のデータだけが入力されています。 ここで、シート[1]のB~D列のデータを、シート[2]のB~D列に反映させたいのですが、シート[2]のA列は、番号がばらばらになってしまっているので、コピー&ペーストは無理な状況です(>_<) 「じゃあ番号を揃えてからコピペすればよいのでは?」と思ったのですが、シート[1]のA列は連続した数字ですが、シート[2]のA列は連続しておらず、データの数も違うため、上手くいきませんでした・・・ 「シート[1]のA列とシート[2]のA列を比較し、番号が一致すれば、シート[1]のB~D列のデータを、同じくシート[2]のB~D列にも反映させる」みたいな、そんな関数やExcelのテクニックがございましたら、ご指導いただきたいです(>_<) よろしくお願いします<m(__)m>

  • dj-s
  • お礼率81% (228/280)

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! すでに回答は出ていますので、参考程度で・・・ ↓の画像の上側の表がSheet1になります。 Sheet2の B2セル =VLOOKUP(A2,Sheet1!$A$2:$D$6,2,0) C2セル =VLOOKUP(A2,Sheet1!$A$2:$D$6,3,0) D2セル =VLOOKUP(A2,Sheet1!$A$2:$D$6,4,0) と数式を入れて、B2~D2セルを範囲指定します。 そして、オートフィルの(+)マークのところで下へコピー(又はダブルクリック) これで希望通りになると思います。 以上、参考になれば幸いです。m(__)m

dj-s
質問者

お礼

できました! VLOOKUPってすごいですね! 皆様ありがとうございます(>_<)

その他の回答 (2)

  • ki-ro-ro
  • ベストアンサー率49% (106/213)
回答No.2

以下を参考にVLOOKUPを理解してください。 http://allabout.co.jp/computer/msexcel/closeup/CU20060805A/ 例えば、以下のように入れて、下のセルへコピーしてください。 「$」が付いてるのは絶対参照で、コピーしても変化させないためです。 Sheet2のB2 =VLOOKUP(A2,Sheet1!$A$2:$D$5,2,FALSE) Sheet2のC2 =VLOOKUP(A2,Sheet1!$A$2:$D$5,3,FALSE) Sheet2のD2 =VLOOKUP(A2,Sheet1!$A$2:$D$5,4,FALSE) その他、グーグルなどで関数で検索して、色々な関数の使い方を勉強してください。 こんな事もできるんだ。 と、多くの発見があるでしょう。

回答No.1

  VLOOKUPを使いましょう  

関連するQ&A

  • エクセルに詳しい方へ!

    エクセルで例えば A  B  C   D  1 ・・・ ・・・ ・・・ 2 ・・・ ・・・ ・・・ 3 ・・・ ・・・ ・・・ ・ ・ ・ というようにデータがあった場合に、違うシートへうつりそこのある場所で1と入力すると 1 ・・・ ・・・ ・・・ と表示されるような機能はありますか? (1というのは行番号ではなく、A列にかかれている数字です。)

  • Excelでの質問です。

    こんな事が出来るのか?出来ないのかさえ判らない者ですが・・・・     シート2のA列と、シート3のA列に上からランダム(上からは順番です、シート2と、シート3の順序はバラバラです)に日付を入力 この、それぞれに入力した日付をシート1の、A列の上から順番(入力順)に反映したい。     尚、シート2、シート3共、B列、C列、D列に日付の関連項目を入力し、これもシート1のB列、C列、D列に反映したい。    Excelの先達の方々、どうかよろしくご教授下さい。

  • Excelでの採番方法

    Excelのユーザーフォームを使って、シートへデータを反映させるマクロを組んでいます。 そこで、データ一つ一つに番号をつけたいのですが、 B列に入力した日付(例:2014/01/06)から年の2ケタだけを参照しA列に14001、14002としていきたいです。 また、年が変わった時に番号もリセットされる方法がわかりません。 B列への入力を(2015/01/06)とした場合に、番号が15001、15002と、1から連番になる方法はありますでしょうか。

  • excel 別シートから複数項目を取得

    こんばんは。エクセルについて質問があります。 今、エクセルで同じ構造で中身の違うデータベースの様なシートを数枚作り、 そこから参照して、別の入力シートにそのデータを引っ張って来るということをしたいです。 調べてみた感じVLOOKUP関数などを使うのかなと思うのですが、 どうもうまいこといきません。 DBのような扱いをしているデータシートの構造は 【データシート】 A1(クラス名)列| B1(番号) 列 | C1(名前:漢字) 列 | D1(名前:かな) 列 | ------------------------------------------------------------------- A2   1-1 |  B2 1番 | C2 鈴木 太郎   | D2 すずき たろう   | のようなデータの入れ方をしており、クラスは1-7まである感じで、 B1の列はA1列のクラスの人数分が連番になっています。 なので、番号は重複してる部分が多いです。 これが複数枚シートあるといった具合です。 データを反映させたいシートも前4列は同じ様な構造をしています。 これにあと複数列足した感じになってます。 【反映させたいシート】 A1(クラス名)列| B1(番号) 列 | C1(名前:漢字) 列 | D1(名前:かな) 列 | E1 別項目 |… -------------------------------------------------------------------------------- A2  3-7  |  B2 2 | C2 田中 次郎   | D2 たなか じろう   | ×× |… ここで名前列に名前(漢字、もしくはかな)を入れるか、 もしくはクラス名+番号ですぐさま該当シートの特定し、 合致するE列以前の残りのデータを全て取得してくる。 反映させたシートのE列などに入れたデータを 今度はデータシートへとリンクさせるという風な プログラムを組みたいです。 こういった具合のエクセルシートを作成したいのですが、 どのようにしたら良いでしょうか? プログラムの様にIF文などを使用する感じになるのでしょうか? それともデータのシートに別でIDなどユニークな値を各々の データに割り振らないとダメでしょうか? また参考として知りたいのですが、 1行に引っ張りたくないデータが多数あっても行単位で3列の分だけ取得して、 1行にある3列分のデータを同じ1行3列に反映させることは可能でしょうか? 説明が下手で意味が解り辛い所もあるかもしれませんが、 回答よろしくお願いします。

  • エクセルの行にあるものを列にする数式

    エクセルの数式を使って、行に入っているものを別のシートの列に入力することについて質問です。 例(シートA)    A  B  C  D 1  月 火 水 木 2  10 20 30 40 ABCDが列番号、1,2が行番号です。 このように入力したシートがあります。 そして、違うシートには下のように入力したいのです。 例(シートB)    A  B  C  D 1  月 10 2  火 20  3  水 30 4 木 40 (ずれてしまってすみません) シートBの『10,20,30,40』のところに数式を入れたいのですが、シートAに入力した時に、シートBにそのまま反映されるようにしたいのです。 ちなみに、シートBのB1(10となっているところ)に『=シートA!A2』と入力して、それをシートBのB列全体にコピーすると、シートAのA列部分を縦によんでしまうので、反映されません。 シートAでは横によんでいって、それをシートBでは縦に表示する、というところです。 このような説明でわかりましたでしょうか? $マークも使って絶対値もやりましたが、それでもダメでした。 いい方法をご存知のかた、よろしくお願いいたします。

  • エクセルの数式をどのように入れたら良いでしょうか?

    エクセルの数式をどのように入れたら良いでしょうか? いつもこちらでお世話になっています。 今回も教えて頂きたく質問させていただきます エクセルについてですが、 sheet1に入っているデータを sheet2に入力するようにしたいのですが sheet1の A列に1~50までのNo. →A1セルにNo.1、A50セルにNo.50 B列に(1)データ C列に(2)データ があり sheet2の D5のセルに「1」と入力すれば、sheet1!A列の数字とリンクしてsheet!B1の(1)データが入り D6のセルに「10」と入力すれば、Sheet1!A列の数字とリンクしてsheet!C10の(2)データが入る ように設定し、 さらにsheet2のD5,D6のセルに上書きで(繰り返し)数字を入力させ 数式が消えないようにしたいのですが どのようにすればよいでしょうか? 分かりずらい説明で申し訳ありませんが 大変困っているので、アドバイス頂けると助かります。

  • エクセル得意な方、助けてくださいっ

    エクセルで教えてください。。。 (1)sheet2のB列にお店の名前が100個くらいあります。 (2)sheet1のA列に店番号、B列にお店の名前があります。 (3)sheet2のA列に店番号をsheet1のデータから検索して自動入力したい。 こーゆー場合、関数で検索・入力できる方法わかる方教えてください。 VBAはわからないのでどーしても関数でやりたいです。 よろしくお願いします。

  • エクセルの他シートからの参照方法について

    エクセルファイルで他のシートからデータを参照して反映させたい場合について、操作が分からないことがあるのでどなたか教えて下さい。 説明がうまくできていなかったらすみません。 sheet1のA列にsheet2のB列のデータを反映させたい場合、sheet1のA1に「=sheet2!b1」sheet1のA2に「=sheet2!b2」…というように設定し、以下は設定済みのA列を選択して下にドラッグしていけば連続データとして参照式が反映できると思うのですが、参照したいデータが連続したセルでない場合の方法が分かりません。 たとえば、sheet1のA1にはsheet2のb1、sheet1のA2にはsheet2のb11、sheet1のA3にはsheet2のb21…というように、反映させたいシートのセルは連続しているのですが、その参照元となるシートのセルは一定の間隔を空けて飛んでいる場合、上記と同じようにドラッグしても、セルの値におかしな数値が入ってしまいます。 仕方がないのでひとつひとつ参照先となるセルを手入力している状態ですが、効率が悪いので、ドラッグ等で一気に参照元を指定したいのですが、どのようにしたらいいのでしょうか? よろしくお願い致します。

  • excelで困っています。お力をお貸しください。

    はじめまして、今excelでA列に244007このデータがあって、 それをA2475から101個のデータをA2578から101個のデータ、 A2681から101個・・・といった風にA24153までB列に連続して表示したいのですが 、手作業ではとても時間がかかりすぎてしまいます。どうか早くできる方法を教えていただけないでしょうか?

  • EXCEL データをレコード化するには

    Excelのデータについて教えてください 1枚目のシートに 管理番号:氏名:住所:電話番号の4つのデータがそれぞれ別のセルに入ってるデータが100件あります。 (Aの列:管理番号 Bの列:名前 Cの列:氏名 Dの列:電話番号) これを、2枚目のシートで利用したいのですが、 Aの列の管理番号を入力したら、その列のデータが表示されるように したいです。Wordの差込のような感じです。 =(Sheet1!$B3)これだと、1つのデータしか出ませんよね。 すべてのデータの送り状を作成したいと思っています。 VBAとかでないとできないのでしょうか。 よろしくお願いいたします。

専門家に質問してみよう