質問: エクセルの質問です 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列には同じ会社名が何度も出てきます。 どうすればいいのかわかる方お願いします。
回答: 私はいつも回答で言ってますが、テーブルを示す第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列には同じ会社名が何度も出てきます 出てきてもそのバラエティは拾えません。