• ベストアンサー

VLOOKUPを使用して、随時並び変えたいのですが・・・

選挙投票数の数を随時入力し、その途中結果の数を投票数の多い順に候補者の名前を上位順に並び変えたいのですが、VLOOKUPを使用しても上手くいきません。 関数は B6=VLOOKUP(C7,A2:B4,1,FALSE) と使用しても、結果が「#N/A」とでてしまいます。 各候補者の途中投票数を入力する度にB7~B9の候補者の名前を随時自動的に並びかえたいです。 誰か良い関数又は解決方を知りませんでしょうか?   A   B    C    D   E  1   TOTAL  1回目  2回目  3回目 2 A候補   80   20   50   10 3 B候補   86   25   50   11 4 C候補  77   15   50   12 5 6  順位  名前  獲得票数 7  1位   #N/A   86票 8  2位   #N/A   80票 9  3位   #N/A   77票

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

  • ベストアンサー
  • comv
  • ベストアンサー率52% (322/612)
回答No.2

こんばんは! 方法は、いろいろあると思いますが1例を   A   B   C   D   E  1    TOTAL 1回目 2回目 3回目 2 A候補  80   20   50   10 3 B候補  86   25   50   11 4 C候補  77   15   50   12 5 6  順位  名前  獲得票数 7   1  式2  式3 8  式1   ↑   ↑ 9   ↑   ↑   ↑  セルA7 1を入力  セルA8 式1 =IF(COUNTIF($B$2:$B$4,C7)>COUNTIF($A$7:A7,A7),A7,COUNTIF($A$7:A7,A7)+A7)  (A9へ複写)  セルB7 式2 =INDEX($A$2:$A$4,MATCH(C7,$B$2:$B$4,COUNTIF($A$7:A7,A7)-1))  (B8:B9へ複写)  セルC7 式3 =LARGE($B$2:$B$4,A7)  (C8:C9へ複写)  A7~A9 書式設定 → ユーザー定義 0"位"  C7~C9 書式設定 → ユーザー定義 0"票" こんなかんじでしょうか! 同点の場合も処理しているため多少長くなってしまいました!

ganjyaman
質問者

お礼

こんばんわ。 返事が遅くなりすみませんでした。 まさに私が望んでた結果を出して頂き感謝しております。 今回愛の手を差し伸べて頂いた関数ですが、非常に複雑でしたが、言われるがままに打ちこんでみましたら、まさに望んでたものがでました。 また、分からないことがありましたら、助言を宜しくお願いします。     from ganjyaman

その他の回答 (3)

  • yuhki_f
  • ベストアンサー率32% (32/99)
回答No.4

次のようにしてはいかがでしょうか。表はタブ区切りになっているので整形してご覧下さい。 集計する表を、順位、得票数合計、候補者の順に並べます。 順位には、RANK(C3,$C$3:$C$5)のようにRANK関数を入れ、順位を表示させるようにします。 B C D E F G 2 順位  TOTAL  1回目  2回目  3回目 3 2 80 A候補 20 50 10 4 1 86 B候補 25 50 11 5 3 77 C候補  15 50 12 得票数順の表は、下のように配置し、名前と獲得票数にVLOOKUP関数を使います。名前の欄:VLOOKUP(B11,$B$3:$D$5,3,FALSE) 得票数の欄:VLOOKUP(B11,$B$3:$C$5,2,FALSE) つまり、上の表でRANKを使って順位を求め、下の表ではRANKから得票数と候補者名を表示させるようにします。この場合、順位と獲得票数は数値である必要がありますので、1位、86票と表示したければ、表示形式を用いて表示を変更してください。また、この方法は上の表の行数が固定されている場合にのみ利用可能です。上の表の行数が変動する場合には、別の方法を考える必要があります。 10 順位 名前 獲得票数 11 1 B候補 86 12 2 A候補 80 13 3 C候補  77

ganjyaman
質問者

お礼

こんばんわ。 今回はアドバイを頂き有難うございます。 yuhki_fさんから頂いた関数も利用できたのですが、行数変動があるため、私が完全に望んでいるものとより、少しりなかったです。 comvさんで頂いたものがまさに望んでいるものでした。 今回次点にはなってしまいましたが、また、機会ありましたら宜しくお願いします。     from ganjyaman(P.S. 返事が遅くなりました。)

  • himehime
  • ベストアンサー率37% (133/354)
回答No.3

これを、一つの関数で行うことは、無理ですね。 複数の関数を組み合わせる必要があるとおもいます。 ご希望の回答ではないのですが、 順位を求める関数に、RANK関数がありますので、 ご紹介しておきます。 =RANK(B2,$B$2:$B$4,1) で、B2が、2という値がでます。 この数式をコピーすると、 B3が、3で、B1が、1という数字がでます。 あとは、このRANK関数を使った、「値」だけは、 昇順で並べ替えボタンで並べ替えられますけど。 (候補名含んで選択して、並べ替えは、できません。 また、列は別にしておかないと、並べ替えはできません。) 自動的にできる方法は、わかりません。 ごめんなさい。

回答No.1

VLOOKUP関数の基本的な使い方がまちがっているのではないでしょうか? 私もあまり詳しくないのですが・・・ B6=VLOOKUP(C7,A2:B4,1,FALSE) で指定すると、Aの列(正確にはA2~A4)にC7といっちするものがあるかどうかを検索するはずです。 したがって、Aの列には、C7(86)と一致するものがないため”N/A”となるのではないのでしょうか? 検索値が、範囲で指定した領域の先頭領域(例だとA列)に一致したものを検索するのがVLOOKUPの使い方のはずです。

関連するQ&A

  • VLOOKUPを使用するのでしょうか?

    Excelで現在表計算をしています。 一致する種類の商品の合計を求める場合、VLOOKUPでよいのでしょうか? =VLOOKUP("A",A2:B10,2,FALSE) この式で入力しているのですが、なぜかAに合致する数全て(113)が割り出せません。 なぜか2行目の23しか数値が入力されません。 A B 1 種類 数 2 A | 23 3 A | 40 4 A | 10 5 B | 40 6 B | 30 7 C | 20 8 C | 20 9 B | 16 10 A | 40 使う関数が間違っているのでしょうか。 教えてくださいよろしくお願い致します。

  • VLOOKUP()

    関数VLOOKUP設定でエラー#N/Aが出ます。 現在、範囲が別シートですがこれは何か別の入力が必要でしょうか? VLOOKUP=(A1、sheet1!B2:C100,2,0) で入力しています。 関数初心者です。

  • 【エクセル】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を使っています。

  • エクセルVLOOKUP関数の検索値について

      A   B     C     D     E 1 あ AAA 2 い  BBB 3 う  CCC 4 え  DDD 5         お   い  =VLOOKUP(C5,A1:A4,2,0) VLOOKUP関数にて、質問です。 検索値候補1=C5のセル 検索値候補2=D5のセル 範囲=A1:B4 E5=関数 (ここに式を入れたい) 検索値候補1がない時は、候補2を検索する そんな式はどうすればよいですか? 素人ですので、おたすけください

  • 選挙の基礎知識を教えてください。

    高校教員です。 明後日、勤務先の高校で行われるものです。 11名の立候補者(定員13)で役員選挙が行われます。信任投票です。 投票用紙の候補者名が並んでる下の欄に、信任なら〇、不信任なら×、それ以外はすべて無効とするものです。 a 学校在籍者数 631 b 出席者数   612(欠席19) c 有効票数   563(無効票49) だったとしたら、信任に必要な票数は、どう求めたらよいのでしょうか。 学校の先生がそんなことも分んないのかよ、といった書き込みはご遠慮ください。 何卒よろしくお願い申し上げます。

  • エクセル別シートの関数VLOOKUPの仕方

    人が作ったVLOOKUPの関数が消えてしまい困っています。 Sheet1 A ID No、  B名前   C検索結果 1245654 山田 太郎   #N/A 5624585   安藤 花子   #N/A 4875562   加藤 次郎   #N/A 1453699   小島 幸子   小島幸子 Sheet2 A ID No,  B名前 4521662   近藤 三郎  7845698   田中 夢子 1486999   小島 幸子 Sheet1にあるNo,がSheet2にもあれば、Sheet1のC検索結果の欄に名前が出る仕組みに なっていました。 300行くらいあるのですが、 関数の式は=VLOOKUP(A2:A300,Sheet2A2:A300,3,TRUR) どこか違いますか?             データは今後も入力していくと、どんどん増えて300以上になります。 この場合の式は何になるのでしょう? 色々とやってみましたが、ヒットしませんでした。 あとこの場合、Sheetの名前を変えると、関数が壊れてしまいますか?

  • vlookup関数について

    vlookup関数について教えてください。    A       B         C      D      E        1  あじ    りんご     2  さば    みかん            3  さんま   ばなな        という内容で、D1セルに入力した内容に応じてE1セルに内容を転記させていました。 E1=VLOOKUP(D1$A$1$B3,2,FALSE) 上記で運用していたときはうまくいったのですが、 Cの列にも文字をいれ、E1セルにはCの内容を検索して、B列の内容を転記したいと 思って作りかえるとうまくいきません。 今回の新しいやり方では、 ・A列からの検索はいらない(でも他ファイルから参照されているので、削除、移動はできない) ・E1=VLOOKUP(D1$A$1$C2,2,FALSE)では #N/A となる ・A列からの検索がいらないから、E1=VLOOKUP(D1$B1$C2,1,FALSE) でも #N/A 調べてみたのですがわからなくて・・・ どこがおかしいのか、教えてください。宜しくお願いします。

  • vlookupに、Indirect と Match 関数を組み合わせる

    vlookup関数で、検索値にSheet1(Book1)から、範囲は、Sheet2(Book1)のセルにある名前のついているSheet1(Book2), そして、列番号は、指定した名前とマッチするSheet1(Book2)の列番号から、導き出そうとしています。 ところが、Matchで指定した範囲は、Indirect内の関数として認識されないようで、結果が得られません。 たとえば、 Book1のA1~E1にタイトルが入っています。(Index, Title, Book, Author, Frequency) Book2には、 シート1: InputName シート2: Output シート2に以下の関数を入れてみましたが、うまくいきません。 ちなみに、VLOOKUPの列番号を Match関数の代わりに、5 とすると、結果オーライですが、Book1 の列順が変わっていることがあるので、Matchを使ってエラーを避けたいのですが、以下の関数のどこを直すべきでしょうか? =IF(ISNA(VLOOKUP(C2,INDIRECT("'["&InputName!$A$2&"]"& InputName!$B$2&"'!"&"$A$2:$E$1400"),MATCH("Frequency",$A$2:$E$2,0),FALSE)),0,VLOOKUP(C2,INDIRECT("'["&InputName!$A$2&"]"& InputName!$B$2&"'!"&"$A$2:$E$1400"),MATCH("Frequency",$A$2:$E$2,0),FALSE)) よろしくお願いします。

  • エクセル 画像をVLOOKUPみたいに出したいです

    https://www.forguncy.com/blog/20170818_vlookup_picture を参考に INDEXとMATCH関数を使用し作成しているのですが、、どうもうまくいきません。 シート2に、 A列・・品名1 B列・・品名2 C列・・画像 D列・・金額 シート4にVLOOKUPで、セルA2に品名1、セルB2に品名2、セルD2に金額、は完璧に出るのですが、セルC3に画像だけどうも出ません。 名前の定義で”写真”と名前を付け、参照範囲に以下をやりました。 =INDEX(Sheet2!$A$2:$A$10,MATCH(Sheet4!$A$2,Sheet2!$C$2:$C$10,0)) セルC3には、#N/Aとでます。 初心者です。難しいことはできません。 ご教授お願いします。

  • VLOOKUP関数について

    VLOOKUP関数を使用して、大項目あ~うに該当する小項目a~dを拾い出します。 [Sheet1]  A B C D 1 あ a  c 2 い b 3 う d [Sheet2]  A B C 1 い  b Sheet1に大項目と小項目のデータを、Sheet2を検索シートとします。 A1には検索する大項目を、B1にはVLOOKUP関数を使って小項目を拾い出します。このときに、B項目がbというのは単純に拾えるのですが、小項目が2つ以上ある場合が拾い出せません。 2つ以上ある場合はC1、D1とに表示させたいのですが、どんな関数を使えばいいのか分かりません。 マクロを使うのでしょうか? 教えてください。

専門家に質問してみよう