- ベストアンサー
Excelで『複数のセルを参照し、配列が条件を満たした時に数値を返す方
Excelで『複数のセルを参照し、配列が条件を満たした時に数値を返す方法』を教えて下さい。 担当ごとにコードが割り振られておりまして、 セルに担当名を入力するとコードが表示する様な表を作成したいのですが、 関数や条件付き書式では難しいでしょうか? セル1 セル2 セル3 ●●事業本部 ●●事業部 ●●営業担当 ⇒ 条件一致でコードを表示「123456」 説明に不足などありましたら補足させて頂きます。 お礼はさせて頂きます、どうぞ宜しくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
>セルに担当名を入力するとコードが表示する様な表を作成したい 最も簡単な方法かと存じますが。。。 1)先ず、左側セル に「●●事業本部 ●●事業部 ●●営業担当」、右側セル に「123456」と入力された「担当名コード対応表」を作成します。 「セル1」・「セル2」・「セル3」に表示されるべき項目名の間を「半角スペース」などの決まった文字で区切って 左側セル に入力しておきます。 左側セル 右側セル ●●事業本部 ●●事業部 ●●営業担当 123456 ●●事業本部 ●●事業部 ●○営業担当 123457 ●●事業本部 ●○事業部 ●●営業担当 123458 ●●事業本部 ●○事業部 ●○営業担当 123459 ●○事業本部 ●●事業部 ●●営業担当 123460 ●○事業本部 ●●事業部 ●○営業担当 123461 ●○事業本部 ●○事業部 ●●営業担当 123462 ●○事業本部 ●○事業部 ●○営業担当 123463 というような具合です。 2)(1) の「担当名コード対応表」範囲に「対応表」とでも「名前」を付けておきます。 3)「セル1」・「セル2」・「セル3」がそれぞれ A1、B1、C1 とすると、D1 に =VLOOKUP(A1 & " " & B1 & " " & C1,対応表,2,FALSE) と入力します。 以上で、いかがでしょうか?
その他の回答 (5)
- tom04
- ベストアンサー率49% (2537/5117)
No.4・5です! やはり画像が上手くアップできないようなので・・・ Sheet2には↓のような感じで表を作っていました。 A列 B列 C列 D列 E列 事業本部 事業部 担当者 担当者コード 作業列 AAA ああ ●● 123456 AAA いい ▲▲ 234567 BBB ああ ■■ 345678 BBB いい ○○ 456789 CCC いい △△ 567890 以下続く・・・ そして、Sheet1はSheet2のAからD列の表のみで D列にNo.3の数式を入れていました。 どうも何度も失礼しました。m(__)m
- tom04
- ベストアンサー率49% (2537/5117)
No.4です! 画像が上手くアップできなかったようなので もう一度チャレンジしてみます。 何度も失礼しました。m(__)m
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 外していたらごめんなさい。 担当者コードの表がどのような感じで作成されているのか判らないので 勝手に↓のような表にしてみました。 ごくごく単純にやっています。 Sheet2が担当者のコード表でSheet2のE列を作業用の列としています。 作業列E2セルに =A2&B2&C2 としてオートフィルで下へコピー! そして、Sheet1のD2セルに =IF(COUNTBLANK(A2:C2),"",IF(ISERROR(INDEX(Sheet2!D:D,MATCH(A2&B2&C2,Sheet2!E:E,0))),"該当者なし",INDEX(Sheet2!D:D,MATCH(A2&B2&C2,Sheet2!E:E,0)))) という数式を入れ、オートフィルで下へコピーすると 画像のような感じになります。 尚、余計なお世話かも知れませんが、今回の方法はSheet1のA列からC列は手入力しなければなりませんので、 Sheet2の表の作成方法を少し工夫すれば 入力規則のリスト機能を使い、A列 → B列 → C列 とリスト候補を絞り込みながら表示させることが可能だと思います。 今回は具体的な表の配置が判らないのでこの程度でごめんなさい。 以上、参考になれば良いのですが 的外れならごめんなさいね。m(__)m
お礼
何度もご丁寧に回答頂き本当にありがとうございます>< ちょっと難しそうですが、私でもなんとかやれそうです、 明日会社に行ってから試してみたいと思います!
- natchan38
- ベストアンサー率22% (98/431)
すいません手元にDGET資料ないです、しかも携帯サイトしかみれなくてお役に立てず~ (*^^*)
お礼
いえいえ、ありがとうございました^^
- natchan38
- ベストアンサー率22% (98/431)
CHOOSE関数があります 担当者に順番がを決めます 1(安藤さん)100 2(井上さん)200 3(宇野さん)300といれて行きます 人数が多くて、すでに、担当者とコードを入力した一覧表があって利用出来るなら、 VLOOKかHLOOK関数が使えます ご使用に合うかどうか チューズ関数、ブイルック(列参照)エイチルック(行参照)の使い方で検索してみて下さい 私でよければまたどうぞ
お礼
ご回答ありがとうございます! すみません、ちょっと説明が足りなかった様です>< ●●担当は123456、▲▲担当は987654といった具合に それぞれ担当部署にコードが存在していて、 なんとか本部のなんとか担当と入力すると あらかじめ作ったリストからコードを引っ張ってくる様な感じです。 URLにあるDGET関数の様なことをしたかったのですが、 上手くいきませんでした。。 http://www.moug.net/learning/exkan/exkan006-3.html
お礼
とっても分かりやすくご説明頂きありがとうございます、 まさしく私が作成したい方法と合致しています! 会社で試してみたいと思います、大変助かりました。