• ベストアンサー

エクセルの質問です

A列は空白 B列に商品をあらわ5桁のコードが入っています。 C列にも同じく商品を表す5桁のコードが入っているのですが、 B列のセルと隣り合ったセルには同じ数字が入っていません。 D列には取引先の会社名が入っています。     B1に入ってる5桁の数字と同じ数字が入っている C列のセルを探し、 そのセルの隣のD列の会社名をA1のセルに表示させたいのですが、 どう関数を組んだらいいのでしょうか? A   B    C   D     12345 12354 A社    12334 12345 B社    12443 12544 C社 上の表の場合B1とC2数字が同じなのでA1にB社と表示させたいのです。  B列が昇順で並んでいる C列とD列は重複しない という条件で <=vlookup(b1,c:d,2,false)> という回答を頂いたのですが、 B列が昇順で無い(ランダムに数字が入っています) D列には同じ会社名が何度も出てきます。 どうすればいいのかわかる方お願いします。

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

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

私はいつも回答で言ってますが、テーブルを示す第2引数は絶対番地で指定しましょう。 =IF(ISERROR(VLOOKUP(B2,$C$2:$D$4,2,FALSE)),"",VLOOKUP(B2,$C$2:$D$4,2,FALSE)) VLOOKUP関数は、最初に見つかった検索値の行で、検索を打ち切るので、C列に同じ値があるといつも同じ会社名を拾いますが良いのですか。 >B列が昇順で無い(ランダムに数字が入っています は関係ありません。FALSE型でも、TRUE型でも同じです。 C列はFALSE型の場合は昇順が普通で、独立した表を作る場合が多いです。 >D列には同じ会社名が何度も出てきます 出てきてもそのバラエティは拾えません。

mizukiland
質問者

お礼

ありがとうございます。 私のデータではないので、今日、会社へ行ってさっそく入力してみます。 回答ありがとうございました。

その他の回答 (2)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

数式自体は合っているので普通ならA2,A3にコピーしたものはB社以外を表示します。 F9キーを押してみてください。これで正常になるなら 「ツール」「オプション」「計算方法」タブの計算方法を自動に変えてください。

mizukiland
質問者

お礼

回答ありがとうございます。 この点は自分でもわかりました^^

  • aroi-aroi
  • ベストアンサー率34% (40/115)
回答No.1

≫B列が昇順で無い(ランダムに数字が入っています) ≫D列には同じ会社名が何度も出てきます。 =vlookup(b1,c:d,2,false) の式で C列(の間違いですよね?)が昇順でなくても、 (もちろんB列も) D列に同じ会社名が何度出てきてもOKですよ。 そのために、検索の方を「false」にしてますから。 ただし、C列に同じ数字が何度も出てくる場合、 一番上の数字の隣の会社名を引いてきます。

mizukiland
質問者

お礼

回答ありがとうございます。 本日会社へ行ってさっそく試してみます。

関連するQ&A

  • エクセルの質問です

    A列は空白 B列に商品をあらわ5桁のコードが入っています。 C列にも同じく商品を表す5桁のコードが入っているのですが、 B列のセルと隣り合ったセルには同じ数字が入っていません。 D列には取引先の会社名が入っています。     B1に入ってる5桁の数字と同じ数字が入っている C列のセルを探し、 そのセルの隣のD列の会社名をA1のセルに表示させたいのですが、 どう関数を組んだらいいのでしょうか? A   B    C   D     12345 12354 A社    12334 12345 B社    12443 12544 C社 上の表の場合B1とC2数字が同じなのでA1にB社と表示させたいのです。  

  • エクセルでのソートがうまくいきません

    エクセル2000を使っています。 VLOOKUP関数を利用して見積書を作っていますが、時たま上手くいかない事があります。 見積書は、 見積書のページに A列:数字4桁の商品コード B列:商品名 C列:単価 (例:1001 アイスクリーム 1,500) 商品コードのページも全く同じで、A列でソートしてあります。 VLOOKUPを使って、見積書のA列の4桁の数字に対応した商品コードのB列C列からデータを持ってくるようにして、見積もり書のB列とC列をうめる・・・という簡単な仕組みです。 ところが、なぜかB列とC列にうまくデータを持ってこられない行がいくつか出てくる事があります。(#N/Aと表示される) ちなみに、見積書も商品コードもA列のセルは文字列に設定しています。 また、変換できなかったA列の数字を上書きして入力すると半分くらいはB列C列が#N/Aから本来のデータになるのですが、相変わらず変化なしの場合もあります。 そのような場合は、見積書のA列に商品コードのA列をコピーしたものを貼り付けて上書きするとちゃんと表示できるようになります。 この場合の見積書は、過去に作ったいろんな店舗への見積書を行追加して新たに作った「年間の見積書の全て」といった物なので、時によってA列のセルの性格が違っている場合があるかも・・・という訳で改めてA列を文字列に設定し直しています。 が、これをやってもA列での並べ替えもうまく昇順にならない場合がありますので、やはりセルによっては統一されていない部分があるのかと調べてみましたが全て同じく文字列になっています。 どうにも訳が判りません。 長い文章で申し訳ありませんが、御判りの方がおいででしたら後教授ください。

  • エクセルの数字の桁数

    エクセル2000です。 3000行程のデータです。横に並べた3つのセル(A~C列)の数字をひとつのセルにまとめてD列に表示しようと思います。希望はゼロも含めて8桁の番号10036803にしたいのですが、ゼロがとれて13683になってしまいます。 なお、Dのセルには=A1&B1&C1としています。    A  B  C    D  1 1 00368 03  10036803 よろしくお願いします。

  • エクセル縦横検索

    エクセルの縦横検索で関数がわからず何日も悩んでいます。。 <Sheet1> は商品コード・ランクごとの単価表です。   A列    B列     C列   D列    E列  F列 1  商品コード 商品名  Sランク Aランク BランクCランク  2  00010001 AA-1111 10.00 11.00  13.00 14.00 3  00100022 AB-222  11.00 12.00  15.00 16.00 4  00200033 BDB-123 20.00 21.00  22.00 23.00 5  00300033 CA-111  9.00 10.00   11.00 12.00 …  ・・・ 10  01000033 OP-100   30.00 31.00  32.00 33.00 11  02000123 TD-358  10.00 11.00  12.00 13.00   以下5000行ほど続きます。 <Sheet2>は得意先ごとのランク表です。 商品群は商品コードの頭2桁目と3桁目(00、01等)でランクが決まっている為、1行目に2桁の数字を入れています。   A列        B列             C列   D列   E列 … 1                            00   01    02    10  20  2  得意先コード 得意先名/商品群  AA  AB   BDB   OP TD  3  11111    あああ            S    A     C    B  C 4  11222    いいい            A   C     B    S  A 5  12333    ううう              C    S      S    A   B 6  12444    えええ            A   A      B    C   C 7  12555    おおお            B   B     C    S  B …  ・・・   横に50列ほど続きます。 <Sheet3>は入力画面です。    A列       B列      C列   D列 1   得意先コード 商品コード   ランク  単価 2   11222     01000033    得意先コードと商品コードを打ち込むとC2にランク(例だとS)が出るようにしたいのですが、 VLOOKUP($A$2,Sheet2!,A1:Z100,MATCH(C2,Sheet1!A1:A5000,C1:F1)) とすると、アルファベットは出るのですが、ランク表どおりに出ません。01と10が同じ数字として認識されてしまいますし、2桁目と3桁目を認識する関数がわからないので、ここで止まっています。 ランクが出たら、隣の単価を求める関数もついでに教えていただけたらさいわいです。 よろしくお願い致します!

  • 【エクセル】VLOOKUPが上手くいきません。。。

    VLOOKUP関数がうまくいかないので教えてください。 下のような表になっています。    A     B    C    D    E    F 1  番号  名前               コード 2 11-2345  ABC  11  #N/A  11  あああ 3 22-3456  DEF  22  #N/A  22  いいい  4 33-4567  GHI  33   #N/A  33  ううう 5 44-5678  JKL  44        44  えええ 6 ・・・・ ・・・               55  おおお 7 ・・・・ ・・・               66  かかか A、B列はがもとから打ち込んであるデータです セルC2は =LEFT(A2,2) でA列のハイフンの前を表示しています。 セルD2に =VLOOKUP(C2,$E$2:$F$7,2,FALSE) を入れると#N/Aが表示 されます。ちなみに、セルC2にLEFT関数ではなくて、数字をそのまま、 11と入力すると、セルD2に「あああ」と表示されます。どこがいけない のでしょうか? $E$2:$F$7はC列の二桁の数字に対応するコードの表になっています。 エクセル2003を使っています。

  • エクセル 表作り

       A     B       C     D    1 A社    3             A社  2 C社    4             B社  3 B社    5             C社  4 B社    3  5 A社    3  6  ・  7  ・ という風に並んでいたとして、D列のセルにA列の会社名を あいうえお順に1つずつ表示させる方法ありますでしょうか? よろしくお願いします

  • エクセルの再質問

    セルA1~D1に1ケタの異なる数値が昇順で入っています。この異なる値の並びが20行まで続いていす。 そこでA25に1、B25に3、C25に5、D25に7と入力したとき、1~20行の中で、この値と同じ並び方をしている行(たとえばA10=1,B10=3,C10=5,D10=7)があれば、セルA10,B10、C10,D10に色をつけたいのですが出来るでしょうか? また、条件が2個になれば同じようにできますか? よろしくお願いします。

  • エクセルの関数で

    いつもお世話になってます。 例えばA列に商品コード、B列に商品名が入力されているシートがあって、あるセル(例えばC1)に商品コードを入力すると特定のセル(例えば(D2)に商品名が転記されるようにするにはD2にはどのような関数を書けばいいのかどなたか教えてください。

  • ボタンを押下したら列毎に数字を昇順に並べる。

    どなたかご存知でしたら回答をよろしくお願いします。 【質問】 下図の様に、A1~E5に1~99迄の数字が重複して入っています。 「並び替え」というボタンを押下するとA1~A5、B1~B5、c1~c5、 D1~D5、E1~E5のの数字を”昇順”に並び替えるにはどうすればよいですか? 〇例題   A B C D E 1 01 04 07 21 29     「並び替え」というボタン 2 02 03 16 27 30 3 15 20 26 28 99 4 11 18 19 24 25 5 10 13 14 17 23 〇結果   A B C D E 1 01 03 07 17 23 2 02 04 16 21 25 3 10 13 26 24 29 4 11 18 19 27 30 5 15 20 14 28 99 ※列毎に昇順に並び替えられる。 〇注意事項  ・使用するエクセルは2010です。  ・セルに入っている数字はランダムです。    ・セルの数字は表示上、2桁で表しています。(例:1ではなく01) 以上、よろしくお願いします。

  • エクセルの関数についての質問

    マクロはわかりません。出来れば関数で 例えば A列に順番にA社(セルA1)B社(セルA2)C社(セルA3)~ B列にひとつだけ"○"をつけた会社が 選定会社名(セルC2) とやりたいのですが関数を教えてください。

専門家に質問してみよう