- ベストアンサー
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関数かと思ったのですが、男女別というのが どう対処していいのか分かりません。 また、数値は小数点以下も含みます。 よろしくお願いします。
- ricky223
- お礼率56% (32/57)
- オフィス系ソフト
- 回答数5
- ありがとう数1
- みんなの回答 (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の値が見つからなかった場合
その他の回答 (4)
- slot7
- ベストアンサー率21% (18/83)
ANo2です。 ごめんなさい。 E9は自分のexcelで試しにやったときのセル番号です。 ANo2の場合ですと、 シート2 A列 B列 C列 1 男 100 =VLOOKUP(B1,sheet1!A1:C10,SEARCH(A1," 男女",1),TRUE) となります。 本当にごめんなさい。
- xyz37005
- ベストアンサー率51% (363/707)
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)
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となるようにしています。 これでどうでしょう。
補足
ご回答ありがとうございます。 全部「#N/A」になってしまいました…。 "SEARCH(E9," 男女",1),"のE9とはSheet2のことでしょうか? Sheet1も2にもE列には何も入っていないのですが…。
- xyz37005
- ベストアンサー率51% (363/707)
質問の意図がいまいちよくわからないんですが、 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)) のように入れるだけです。
補足
早々のご回答ありがとうございます。 大体うまく行ったんですが、小数点以下の数字を含むものとゼロから始まる数値は「#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に数値を表したい。
- ベストアンサー
- その他MS Office製品
- 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列 山梨県 あいう 東京都 かきく 神奈川県 なにぬ 埼玉県 さしす
- 締切済み
- その他MS Office製品
- VLOOKUPについて教えてください
初心者で大変申し訳ないのですが、よろしくお願いします。 もし、別のシートのA列に例えば『りんご』という情報があれば、となりの列Bのデーターを、引っ張ってくるという関数を書きたいのですが、どうしてもエラーになってしまいます。 どなたか教えてください、よろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- 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つの作業を行いたいのですが、データ量が大変多く、どのような関数の式を入力したらいいですか。至急ご回答ください。よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
お礼
>A列を文字列で入力 してました…。(でないとゼロから始まる数値が入れなれなかったので) VLOOKUPは完全一致でないとダメだと思い込んでいたので、勉強になりました。 ありがとうございました。