• ベストアンサー

VLOOKUP?

Sheet1に男女別の数値区分表があります。 A列     B列  C列 数値     男  女 000~099   M1  F1 100~199   M2  F2 200~299   M3  F3 ≪中略≫ 900~999   M10  F10 さらに特定の数値は別の区分が付きます。 例1.155.6 = B1 Sheet2のA列に男・女、B列に数値がランダムに入っているので、 対応する区分番号をC列に表示させる関数はあるでしょうか? VLOOKUP関数かと思ったのですが、男女別というのが どう対処していいのか分かりません。 また、数値は小数点以下も含みます。 よろしくお願いします。

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

  • ベストアンサー
  • xyz37005
  • ベストアンサー率51% (362/706)
回答No.5

>大体うまく行ったんですが、小数点以下の数字を含むものとゼロから始まる数値は「#N/A」になってしまいます。 う~ん、おかしいな。今自分の環境で試したけど上記の場合でもうまく行きました。 もしかしてA列を文字列で入力してませんか? それから >あと、155.6をB1としたい場合は100の次の行に155.6を入れておけばいいでしょうか? VLOOKUPでTRUEを指定してしまうと値が見つからなかった場合は その値以下の最大値になってしまうため、155.6~200は全部B1になってしまいます。 なので、例外については別テーブルとしてNo.3に書いたようにしてください。 =IF(ISERROR(VLOOKUP(B1,Sheet1!$E$1:$F$2,2,FALSE))=TRUE,IF(A1="男",VLOOKUP(B1,Sheet1!$A$1:$C$10,2,TRUE),VLOOKUP(B1,Sheet1!$A$1:$C$10,3,TRUE)),VLOOKUP(B1,Sheet1!$E$1:$F$2,2)) VLOOKUP(B1,Sheet1!$E$1:$F$2,2,FALSE) →例外テーブルからB1と完全に一致する値を探す     ↓ ISERROR(VLOOKUP(B1,Sheet1!$E$1:$F$2,2,FALSE)) →上記VLOOKUPがエラーかどうか(エラー=値が見つからなかった)     ↓ IF(ISERROR(VLOOKUP(B1,Sheet1!$E$1:$F$2,2,FALSE))=TRUE, →例外テーブルからB1の値が見つからなかった場合

ricky223
質問者

お礼

>A列を文字列で入力 してました…。(でないとゼロから始まる数値が入れなれなかったので) VLOOKUPは完全一致でないとダメだと思い込んでいたので、勉強になりました。 ありがとうございました。

その他の回答 (4)

  • slot7
  • ベストアンサー率21% (18/83)
回答No.4

ANo2です。 ごめんなさい。 E9は自分のexcelで試しにやったときのセル番号です。 ANo2の場合ですと、 シート2  A列   B列  C列 1 男   100  =VLOOKUP(B1,sheet1!A1:C10,SEARCH(A1," 男女",1),TRUE) となります。 本当にごめんなさい。

  • xyz37005
  • ベストアンサー率51% (362/706)
回答No.3

No.1です。 >さらに特定の数値は別の区分が付きます。 >例1.155.6 = B1 に対応させた例を紹介します。 上記例1の場合、男女関わらずB1となるとします。 そして特定の数値用のテーブルを用意します。 E列    F列 155.6   B1 211.34   B2 その上でC1に下記の式(例)を入れてください。 =IF(ISERROR(VLOOKUP(B1,Sheet1!$E$1:$F$2,2,FALSE))=TRUE,IF(A1="男",VLOOKUP(B1,Sheet1!$A$1:$C$10,2,TRUE),VLOOKUP(B1,Sheet1!$A$1:$C$10,3,TRUE)),VLOOKUP(B1,Sheet1!$E$1:$F$2,2))

  • slot7
  • ベストアンサー率21% (18/83)
回答No.2

A列   B列  C列 数値   男  女 1  0    M1  F1 2  100   M2  F2 3  155.6  B1  B2 4  200   M3  F3 ≪中略≫ 10  900   M10  F10 として シート2 A列   B列  C列 男   100  =VLOOKUP(A1,sheet1!A1:C10,SEARCH(E9," 男女",1),TRUE) searchで男であればVlookupの参照列を2、女であれば3となるようにしています。 これでどうでしょう。

ricky223
質問者

補足

ご回答ありがとうございます。 全部「#N/A」になってしまいました…。 "SEARCH(E9," 男女",1),"のE9とはSheet2のことでしょうか? Sheet1も2にもE列には何も入っていないのですが…。

  • xyz37005
  • ベストアンサー率51% (362/706)
回答No.1

質問の意図がいまいちよくわからないんですが、 Sheet2のB列のデータでSheet1のA列を検索し、Sheet1のB列またはC列のデータを取得する ということでよろしいでしょうか? それならば Sheet1のA列のデータを A列     B列  C列 数値     男  女 000   M1  F1 100   M2  F2 200   M3  F3 ≪中略≫ 900   M10  F10 のように直して、 例(C1): =IF(A1="男",VLOOKUP(B1,Sheet1!$A$1:$C$10,2,TRUE),VLOOKUP(B1,Sheet1!$A$1:$C$10,3,TRUE)) のように入れるだけです。

ricky223
質問者

補足

早々のご回答ありがとうございます。 大体うまく行ったんですが、小数点以下の数字を含むものとゼロから始まる数値は「#N/A」になってしまいます。 あと、155.6をB1としたい場合は100の次の行に155.6を入れておけばいいでしょうか?

関連するQ&A

  • エクセルでIF関数を使った5歳区分の表記について

    はじめまして、仕事の集計で年齢区分を出すために四苦八苦しております。教えてください。 C列に性別、f列に年齢を入れてあります。 そこで別のセルに下記の関数を入れて75歳未満で男なら1、女なら2そうでなければ空欄を!といれたらそのとおり答えを返してもらえます =IF(AND($C9="男",$F9<75),1,IF(AND($C9="女",$F9<75),2,"")) ここまでは良かったのですが、これを男女別5歳区分で出すときに =IF(AND($C9="男",70<$F9<75),1,IF(AND($C9="女",70<$F9<75),2,"")) と 「70<$F9<75」のように入力してみましたら何もでてこない状態でおてあげです。 65~69の答えはAセル、70~74の答えはBセルという入力方法で後でカウントイフで1と2を集計しようと考えていますが 今使っているIF関数へのアドバイスと、ほかに良い方法がありましたら教えてください。

  • 表を列に転換(vlookup もしくは indirect ?)

    シート1に47都道府県が行、1980-99年までの20年間が列の表があり、940セルに数値が入力されています シート2に47都道府県を示す列Aと1980-99年までの20年間を示す列Bがあります ここでシート1の表とシート2の列A,Bを元に、シート2の列Cに、各年の各都道府県の数値を入力したいです 要すれば、シート1の表の940セルに入力された数値をシート2の列Cに一列に転換したいのです どのような関数を書けばよいでしょうか

  • シートの行並びの値を別のシートの列にコピーする式は

    あるシートに並んでいる行数値を別シートの列に並べる関数を教えていただけませんか (例)シート1      A   B   C   D 12   48 38  15  39 上記A12 に48 B12に38 C12に15と並んでいる数値を別のシートに列に並びかえる式は? シート2   A 1 48 2 38 3 15 4 39 と行った様にする関数を教えてください。単に数値だけなら                  行と列の並び替えでできますがそうではなくシート1に数値を入力                  することにより関数によって自動的にシート2に数値を表したい。                  

  • VLOOKUPの検索範囲について

    エクセルの関数で質問です。 Sheet1で  A B C      1  1 1       2  1 5      3  2 1      4  2 3 というデータがありSheet2に        A B       1  1 1       2  1 2      3  2 1      4  2 2      5  3 1 というデータがあります。 Sheet1のA1、B1やA2、B2と同様の並びをした行がSheet2にあるかどうか調べたいのですが、関数がわかりません。ちなみにSheet1のCの列に関数を入力したいと思ってます。 VLOOKUPで列Aの条件を満たし、列Bの条件を満たすものと言う検索条件してもうまくいきません。 教えてください。よろしくお願いします。

  • ExcelのVLOOKUP関数?IF関数?

    下記のようなExcelがシート1にあります。  A     B     C 11/1 11/2 11/3 11/4 11/5 11/6 A列には月日が1日から31日まで入っています。 別のシート2には下記のようなExcelがあります。  A     B     C 11/1   1000    2000 11/1   2000    3000 11/3   5000    10000 11/3   7000    4000 11/5   500     3000 11/6   5000    1000 A列には月日が飛び飛びの状態です。 シート1には結果として下記のように表示したいのです。  A     B     C 11/1   3000    5000 11/2    0      0 11/3   12000   14000 11/4    0      0 11/5   500    3000 11/6   5000    1000 シート1の月日とシート2の月日の同一のものを探し、その値の合計をB列C列に表示する。 シート1の月日とシート2の月日が同一でないものは"0"と表示する。 この場合、どういった関数を使えばよいでしょうか。 また、関数式も具体的にどういったものにすればよいでしょうか。

  • EXCEL 複数条件(VLOOKUP?)について 

    EXCEL 複数条件(VLOOKUP?)について  シート1 A列 B列 C列 D列     名前 日付 色  サイズ(数値) シート2 A列 B列 C列 D列     名前 日付 色  サイズ(数値) シート1とシート2のD列を比較させて違う場合をシート1の別の列に表示させたいのですが、 現在はA,B,Cを連結し、VLOOKUPにて処理しています。 今後件数が5000件を超える予定となっており、このままではPCが止まってしまう恐れがあるので 別の方法を模索しているのですが、何か良い方法はないでしょうか?

  • Vlookupのような関数について

    Vlookupにて、下記にある文字シートにあるB列の文字を、都道府県シートのB列に挿入する場合、以下のような関数を利用すればよいかとおもいます。 =vlookup(A1,数値シート:$A$1:$B$4,2,false) そこで、文字シートのA列とB列が入れ替わった場合(キーとなる列が左端では無い場合)はどのような関数にすれば良いのでしょうか? ※文字シートのAとBを入れ替えてというのは無しでお願いします。 都道府県シート A列 B列 埼玉県 東京都 神奈川県 山梨県 文字シート A列 B列 山梨県 あいう 東京都 かきく 神奈川県 なにぬ 埼玉県 さしす

  • VLOOKUPについて教えてください

    初心者で大変申し訳ないのですが、よろしくお願いします。 もし、別のシートのA列に例えば『りんご』という情報があれば、となりの列Bのデーターを、引っ張ってくるという関数を書きたいのですが、どうしてもエラーになってしまいます。 どなたか教えてください、よろしくお願いいたします。

  • excel vlookupについて

    windows2000を使用しています。 以下のように、担当者データを変更したいのですが、どうすればいいか、至急教えて下さい。よろしくお願い致します。 ◆旧担当者のシート  A列    B列  事業所名  担当者 A社     A氏 B社     B氏 C社     C氏 D社     D氏 ◆新担当者のシート  A列    B列 A社     F氏 B社     E氏 C社     C氏 D社     D氏 1)<旧担当者のシート>に<新担当者のシート>のデータを反映させたい。 2)<旧担当者のシート>に担当者が変更になった事業所にフラグを立てたい。 以上、2つの作業を行いたいのですが、データ量が大変多く、どのような関数の式を入力したらいいですか。至急ご回答ください。よろしくお願い致します。

  • MAX関数

    A,C,E,G,I,K,M列に名前、B,D,F,H,J,L,列に2桁から3桁の数字が約300名分入力されているシート内の最大数値と最低数値を取り出す関数ご教示お願いします。AとB列、CとD列・・・2列だけならMAX関数とMATCH関数で取り出すことは出来たのですが、複数の列で全体から取り出すことが出来ません。よろしくお願いします。

専門家に質問してみよう