• ベストアンサー

エクセルで2つの条件を元に

エクセル2007で名簿を作っています。 1ヶ月ごとにメンバーの順が変わります。 シート1(番号順に名簿を作りました)   A  B   C  1 1     山田 2 2     木村 3 3 副長 佐藤 4 4     鈴木 5 5 班長 田中 6 6     長田  シート2(こちらがメンバーに配る名簿です)   A   B  C   D 1 班長    1    3 2 田中    山田  鈴木 3 4 副長    2    4 5 佐藤    木村  長田 A2に田中,A5に佐藤を選んでくるのはvlookupで成功しました。 質問したいのは C列D列に上記の番号のようにシート1の名前を入れていきたいのですが,田中,佐藤の分を抜いた上で番号の若い順に選んできたいのです。 どのような関数をどのように使えば成功するでしょうか。  

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

>セルD2には佐藤さんがいます。 それはD1に正しく「4」が計算できていないからですね。 D1に間違った「3」が現れたままなら、D2に3番の佐藤副長が出てくるのは当然の成り行きです。 どうやらこれ以上、あなたがご自分のエクセルで一体全体「何をやっている」のか不明なままでは、「ここを間違えているからこうしましょう」と指摘することはできなさそうです。 出来る方法その1) まっさらなエクセルブックを改めて用意します あなたがご相談に書いたその通りに白紙の状態からシート1を作成します シート2を回答の手順通りに改めて作り直してください。 添付図のようにできれば成功です。 できるかもしれない方法その2) あなたが「できなかった」エクセルで、シート1とシート2の両方のシートのそれぞれのセル番地に、具体的にどのように作成したのか、その通り文字通り見た目通りに漏れなく教えてください。 そうすれば、あなたがどこをミスっているのか指摘できると思います。

mobuta
質問者

お礼

本当にていねいにありがとうございました。 sheet1で列がずれているという大変初歩的なミスでした。 画像まで添付していただいたのではっきりと分かりました。 重ね重ねありがとうございました。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

>やってみましたが,2と4が抜かれているようには思えません。 回答した内容にきちんと目を通していますか? 数式を教わったのを幸い、そのままコピーして貼り付けてできないーと言っている症状に合致します。 <<重要>>きちんとやらないとできませんので、しっかり目を開けて読んでください。 再掲: 数式を記入したら、必ずコントロールキーとシフトキーを押しながらEnterで入力します。 できませんか? 1.回答からC1の数式をコピーします 2.C1セルを選択し、数式バーの中に貼り付け、まだEnterしません 3.数式の編集中になっている状態で、キーボードのコントロールキー(キーボードの通常左下にあるキーです。Ctrlなどと書かれています)と、その上にあるシフトキー(Shiftキー)を押しながら、エンターキーを押して数式を入力します。 >VLOOKUP 何が分からないのですか? 班長や副長からVLOOKUPを使って名前を取ってこれたのと、全く同じですが。 ただ、このデータからはこんな式にしてもできます。 C2の例: =VLOOKUP(C1,Sheet1!A:C,3) このやり方は、班長や副長のほうには使えません。

mobuta
質問者

補足

ていねいに教えていただいてありがとうございます。 セルC2やC5にもVLOOKUPを使ってみましたが,残念ながら,セルD2には佐藤さんがいます。 私の希望は,班長と副長になった人の名前は抜いた状態で,残りの人を番号順に並べたいのです。 D2には,副長になった佐藤さんではなくその次の鈴木さんを表示したいのです。 もちろん,最初からシフトキーとコントロールキーを押さえながらエンターキーを押しています。 ちなみに,=VLOOKUP(C1,Sheet1!A:C,3)では,セルC2は0と表示されました。こちらも,シフトキーとコントロールキーを同時に押さえる場合と押さえない場合を試してみましたが結果は同じです。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

とりあえず簡単に、C1、C4、D1、D4の順にそれぞれ数字の若い方から入ることにします。 C1に =SMALL(IF(Sheet1!$B$1:$B$6="",Sheet1!$A$1:$A$6),1) と記入して、必ずコントロールキーとシフトキーを押しながらEnterで入力 C4に =SMALL(IF(Sheet1!$B$1:$B$6="",Sheet1!$A$1:$A$6),2) と記入して、必ずコントロールキーとシフトキーを押しながらEnterで入力 D1に =SMALL(IF(Sheet1!$B$1:$B$6="",Sheet1!$A$1:$A$6),3) と記入して、必ずコントロールキーとシフトキーを押しながらEnterで入力 D4に =SMALL(IF(Sheet1!$B$1:$B$6="",Sheet1!$A$1:$A$6),4) と記入して、必ずコントロールキーとシフトキーを押しながらEnterで入力 します。 番号が計算できれば、該当する人の名前はそれぞれVLOOKUPしてくればすぐに求まりますね。 #補足 実際のあなたのエクセルのデザインに応じて1や2や3の数字を計算で求めることもできますが、いきなり示しても実地には応用できないので、まずは手作業で作成してください。

mobuta
質問者

補足

早々のアドバイスありがとうございます。 やってみましたが,2と4が抜かれているようには思えません。 シート1で2と4の人は,班長と副長なので順番から抜きたいのです。 加えて,この場合のVLOOKUPの式の中身も教えていただけると助かります。

関連するQ&A

専門家に質問してみよう