エクセルのVLOOKUPでシート1とシート2を結合する式が作れない

このQ&Aのポイント
  • エクセルのVLOOKUP関数を使用して、シート1とシート2を結合する式が作れません。シート1のA列とシート2のA列を比較し、一致する場合はシート2のB列に昭和の場合は1、平成の場合は2を表示し、シート2のC列には年数のみを抜き出す式を作成する方法がわかりません。
  • エクセルのVLOOKUP関数を使用して、シート1とシート2のデータを結合する方法を教えてください。シート1のA列とシート2のA列を比較し、一致する場合はシート2のB列に昭和の場合は1、平成の場合は2を表示し、シート2のC列には年数のみを抜き出す方法が知りたいです。
  • エクセルのVLOOKUP関数を使ってシート1とシート2を結合する方法を教えてください。シート1のA列とシート2のA列を比較し、一致する場合はシート2のB列に昭和の場合は1、平成の場合は2を表示し、シート2のC列には年数のみを抜き出す方法を教えてください。
回答を見る
  • ベストアンサー

エクセルのVLOOKUPのとある式が作れません。。

シート1 A列    B列    232    昭和23年      51     平成 5年  ←年が一桁の場合、小スペースが入っている シート2 A列    B列   C列 232     1    23 51      2     5  ←小スペースはなく、数字のみ抜き取りたい シート2のA列の数字をシート1のA列から探し出し、シート2のB列は昭和の場合1、平成の場合2と入力される式、シートC列には年数だけ取り出す式をなかなか作ることができません。この場合に、シート2のB列とC列にどのような式を入れておけば、シート2のA列に数字を入力されたときに表示されるのか、教えていただければ非常に助かります。。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

昭和と平成しかない前提で B2: =IF(COUNTIF(Sheet1!A:A,A2),(LEFT(VLOOKUP(A2,Sheet1!A:B,2,FALSE),2)="平成")+1,"") C2: =IF(B2="","",MID(VLOOKUP(A2,Sheet1!A:B,2,FALSE),3,2)+0)

uragon
質問者

お礼

非常に助かりました!! 式の意味を理解して、使用させていただきます。 本当にありがとうございましたm(_ _)m

関連するQ&A

  • Excelでの判断関数式

    以下のC,Dの人数を求める関数式を教えてください。 A列(曜日) "月"~"日"の全角1桁 B列(人数) 数字2桁 C列(平日人数) "月"~"金"の場合、Bの数字を移送入力 D列(土日人数) "土"OR"日"の場合、Bの数字を移送入力 宜しくお願いします

  • Excel2000使用・関数式を教えてください

    A列~AV列まで6桁の数字が入力されています。 行によって、入っている件数(F列までデータが入っているとか、 AC列まで入っているとか)はマチマチです。 入っている数字もマチマチです。 数字の中には、000001、001000など、0から始まる数字もあり、 セルの書式設定はユーザー定義で種類を000000にしています。 別sheetに6桁の数字の一覧があるのですが、 (1)一覧にない数字が入力されているとエラーが表示されるようにしたい また、 (2)6桁の数字は前半3桁と後半3桁が隣の列のセルと一致しないといけないのですが、 不一致の場合は、エラーが表示されるようにしたい 例) A2 000001 B2 001000 C2 000120 D2 120346 E2 346508 F2 508346 G2 346508・・・    A3 123456 B3 456280 C3280002 D3 002428 E3 428508 F3 508346 G3 346213・・・ E2 346508 F2 508346 G2 346508 のように数字が繰り返すこともあります。 Light関数を使うと(2)は解決できたのですが(1)が解決しません =IF(RIGHT(TEXT(入力Sheet1!A2,"000000"),3)=LEFT(TEXT(入力Sheet1!B2,"000000"),3),"","ERR") MATCH関数を使うと =MATCH(入力Sheet1!A2,一覧sheet!$A$2:$A$500,0) (1)は解決したのですが、(2)が解決しません。 (1)(2)とも解決する式、或いは方法を教えて頂けたら助かります。 上記の関数式は、以前、この場で教えていただいたものです。 入力用のシートと別に、検証用のシートを作成しています。 又、もし、もし可能でしたら、別シートにある数字が4桁と5桁と6桁が混在している場合でも流用できるものであるとなお有り難いです。 その場合は前後の3桁が一致するときと、前後の2桁が一致するときがあるという イレギュラーなケースになります。入力した数字は以下のようになります 12345 4512 12650 65034 3458 58260 260013 013134 ・・・ よろしくお願い致しますm(__)m

  • EXCELの式を宜しくお願いします。

    以下の式をお教え下さいませ。   A   B   C       D 1 100 10 100←入力   10   2 200 30 20 3 300 50 70 4 100 20 ↑ 5 100 70        結果数値 VLOOKUPとIF関数ぐらいで、何とかなりそうですが、なりません。 C列に目的の数字を入力し、それに対応するB列の数字(この場合10,20,70)をD列に出力したいのですが・・主旨が分かられますでしょうか?宜しくお願いします。

  • エクセル2000で教えて下さい。

    エクセル2000で質問です シート1のA列に日付が入っています。 B列に東京、大阪・・・数種類の文字が入ります。 C列に数字が入力されています。 日々それぞれ入力されていく形になっています。 さらにシート2のA列に日付が入っています。 B列には予めすべて大阪と入力されています。 C列には数字が入るようになっているのですが 例えばシート1のセルA3に10月18日と入ってB3に大阪と入った時には C3に入った数字と同じ数字がシート2のC3に入力されるようにしたいのです。 シート2のC3と言うのはA3にシート1のA3と同じ日付が入って いるから隣のC3に入る形です。 上の場合もしA8に10月18日と入っていればC8にシート1のC3と 同じ数字が入るようにしたいのです。 シート1のB列に大阪以外の文字が入った場合は無視です。 大阪と入った場合のみです。 どなたか御教授下さい。 補足が必要なら申し付け下さい。

  • エクセル関数を教えて下さい。

    こんにちは sheet1に入力されている数字をsheet2に並び変えるのですが、各セルばらばらに文字数が決まっています。そこで10文字しか入らないように設定されてあるsheet1のセルからsheet2に並び変える際に、「前にスペースを入れて右詰め」にするにはどのようにしたらいいですか?? A1    B1    C1(sheet1) (sheet2)A1      B1     C1 1 123456 123456789 ―――> _123456789 _________1 ____123456 (文字数10桁の場合)               ↑半角スペースです。 sheet2のセルに数式を入力したいです。 よろしくお願いします。2007を使っています。

  • EXCELの式を教えてください。

    LOOKUP関数で#N/Aのエラーが出ます。EXCEL97です。 1つのシート内でやると、うまくいくのですが、シートをまたがると、エラーが出ます(-_-;)以下のようにA列にある文字と一致したセルの2つ隣のセルの数字を持ってくるという単純な式なのです。(C列の100が出ればいいのですが・・) Sheet3に式を入れています。 Sheet1の表   A   B   C 1 4月計    100 2  5月計    200 3 6月計    300 Sheet3の式 =LOOKUP("4月計",Sheet1!A1:A3,Sheet1!C1:C3)

  • エクセルで生年月日の数字のみを別々の列に取り出すには…?

    うまく説明できるか心配なのですが…どなたか教えてください。  A列に生年月日が以下のように入っています。  平成9年3月15日 がセルA1  平成13年12月4日 がセルA2  平成2年1月1日 がセルA3  …のようになっています。  これをB列に年の数字のみ 9,13,2,…     C列に月の数字のみ 3,12,1,…     D列に日の数字のみ 15,4,1,…  と取り出したい?(分けたい?)のです。 というのも、アクセスのテーブルがこの形で入力するようになっていて、エクセルのワークシートにはすべてがつながって(スペースもなく)入力されているため、上記のようにできればアクセスに貼り付けやすいと考えました。どちらのソフトも詳しくはないので、アクセスのデータベースは変更したくないのです。 どなたか知恵をお貸しください。お願いします。

  • エクセルのVLOOKUPについて

    ご覧いただきありがとうございます。 下記の画像のような場合のVLOOKUPの使い方について教えて下さい。 【Sheet1】A列に【Sheet2】A列の文字が含まれていた場合に、【Sheet1】B列に【Sheet2】B列の数を入力するようにしたいと思っております。 【Sheet1】A列の文字数が少なく(列:◯◯)、【Sheet2】A列の文字数が多い場合(列:東京都立◯◯高等学校)は、 =IF(COUNTIF(Sheet2!$A$1:$A$6,"*"&A1&"*")=0,"",VLOOKUP("*"&A1&"*",Sheet2!$A$1:$B$6,2,0)) を入力したら出来たのですが、下記の画像のように、【Sheet1】A列の文字数の方が多い場合は、どのようにすればよいのでしょうか? 使用しているのはエクセル2010です。 ご回答宜しくお願い致します。

  • エクセルVLOOKUP関数について

    =IF($B$3="","",IF(ISERROR(VLOOKUP($B$3,注文管理!A$3:AE$9898,4,0)),"客注NO.を確認!",VLOOKUP($B$3,注文管理!$A$3:$AE$9898,4,0))) VLOOKUP関数を使って、上の式を作りました。 B3に入るのは5桁の数字で文字列です。注文管理のA列に5桁の数字が入っており、そこも文字列にしています。 うまくいく数字とうまくいかない数字があるのですが、なぜだかわかりません。 どこがおかしいのかおしえてください。

  • EXCEL VBA ポップアップを表示する方法

    ご質問させていただきます。 Sheet1のA2~A1701まで4桁の数字(各行で重複しない4桁の数字です)、 Sheet1のB2~B1701とSheet1のC2~C1701にはDDEで取り込んだリアルタイムデータ、 Sheet1のD2~D1701には、B2~B1701とC2~C1701のリアルタイムデータを使ってIF関数で条件判定をしてYESまたはNOを表示する関数式が入力されています。 やりたいことは、D列の条件判定でYESが表示された場合、YESが表示された行のA列の4桁の数字をポップアップで表示させることです。 このようなことはできるのでしょうか? メッセージボックスを使えば良いのかもしれませんが、当方VBA初心者のためメッセージボックスの使い方がよく分かりません。 どなたか教えていただけないでしょうか? よろしくお願いいたします。

専門家に質問してみよう