• ベストアンサー

エクセルで別シートのリストから、指定した文字列が含む場合に値を自動挿入する方法

本当に悩んでます。どなたか教えて下さい。 同じブックの シート1に |  A    |  B | | nameA | 10 | | nameB | 20 | | nameC | 15 |       :       : という風に、列Aには名前、Bには数値が入っております。 シート2には |  A    |  B | | nameB |    | | nameA |    | | nameC |    |       :       : という風に、シート1とは違う並び順で列Aに名前が入っています。  ※列Bは何も入っていない状態です。 この場合に、シート2の列Aの名前に応じて、 シート2の列Bに、シート1の列Bの値を自動で入力したいと思っています。 この場合のシート2のしたい結果は |  A    |  B | | nameB | 20 | | nameA | 10 | | nameC | 15 |       :       : です。 シート1の列A・Bをリストとして、 シート2の列Aの各名前をリストから検索し、列Bにそれぞれ値を入れたいです。  ※名前が重複する事はありません。 どうかよろしくお願いします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

VLOOKUP関数を使用すればできそうです シート2のB1セルに =VLOOKUP(A1,SHeet1!A1:B100,2,0) と入力して、下方向にコピーしてください シート1のA列を検索して、一致した名称の2列目(B列)の値を取得できます

rose_web
質問者

お礼

ご回答有難うございます。 教えて頂いた数式でできました。 本当に有難うございます。

その他の回答 (3)

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

#3です。 「含む」場合の回答の1例。 例データ Sheet3A1:B3 東京 10 大阪 20 福岡 15 Sheet2のA列に 大阪支店 東京会場 福岡駅 東大阪市 関東東京監督部 ガあるとする。 B1に =INDEX(Sheet3!$B$1:$B$3,SUM(IF(COUNTIF(A1,"*"&Sheet3!A$1:$A$3&"*")=1,ROW($A$1:$A$3),0)),1) と入れて SHIFT,CTRL,ENTERの3つのキーを同時押しする。 配列数式という。 式をBまで複写 結果 A列  B列 大阪支店 20 東京会場 10 福岡駅 15 東大阪市 20 関東東京監督部 10 配列数式を使わずSUMPRODUCT関数を使う回答があるかも知れない。 このように難しい課題と思う。簡単な式の回答が出たら、ぜひ勉強したい。

rose_web
質問者

お礼

ご回答有難うございます。 含むの場合は、このように難しくなってしますのですね。 最初は、この例で掲示して頂いた感じに作成しておりましたが、 先にご回答頂いた方の関数では完全一致しかだめみたいだったので、 変更しました。

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

>指定した文字列が含む場合 と標題にある。 完全一致なら既回答でよいと思う。 例の方は同じnameAがSheet1、Sheet2に出てきて、標題と矛盾する。 ただ完全一致の場合でも、,式の中に SHeet1!A1:B100,と$(絶対番地化)が付いてないのが気になるが。 ーーー どちらなのか補足してください。 もし、質問の真意が、「含む」の場合は、難しそうなので、答えられるか判らないが、締め切らずにもう少し開けておいては。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.1

◆Sheet2の式 B1=VLOOKUP(A1,Sheet1!$A$1:$B$3,2,0)

rose_web
質問者

お礼

ご回答有難うございます。

関連するQ&A

専門家に質問してみよう