選挙投票数の数を随時入力し、その途中結果の数を投票数の多い順に候補者の名前を上位順に並び変えたいのですが、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

6  順位  名前 獲得票数
7  1位  #N/A  86票
8  2位  #N/A  80票
9  3位  #N/A  77票

このQ&Aに関連する最新のQ&A

A 回答 (4件)

こんばんは!



方法は、いろいろあると思いますが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

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"票"

こんなかんじでしょうか!
同点の場合も処理しているため多少長くなってしまいました!
    • good
    • 0
この回答へのお礼

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

また、分からないことがありましたら、助言を宜しくお願いします。

    from ganjyaman

お礼日時:2001/07/06 23:40

次のようにしてはいかがでしょうか。

表はタブ区切りになっているので整形してご覧下さい。
集計する表を、順位、得票数合計、候補者の順に並べます。
順位には、RANK(C3,$C$3:$C$5)のようにRANK関数を入れ、順位を表示させるようにします。

BCDEFG
2順位 TOTAL 1回目 2回目 3回目
3280A候補205010
4186B候補255011
5377C候補 155012

得票数順の表は、下のように配置し、名前と獲得票数にVLOOKUP関数を使います。名前の欄:VLOOKUP(B11,$B$3:$D$5,3,FALSE)
得票数の欄:VLOOKUP(B11,$B$3:$C$5,2,FALSE)
つまり、上の表でRANKを使って順位を求め、下の表ではRANKから得票数と候補者名を表示させるようにします。この場合、順位と獲得票数は数値である必要がありますので、1位、86票と表示したければ、表示形式を用いて表示を変更してください。また、この方法は上の表の行数が固定されている場合にのみ利用可能です。上の表の行数が変動する場合には、別の方法を考える必要があります。

10順位名前獲得票数
111B候補86
122A候補80
133C候補 77
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/07/06 23:48

これを、一つの関数で行うことは、無理ですね。


複数の関数を組み合わせる必要があるとおもいます。

ご希望の回答ではないのですが、
順位を求める関数に、RANK関数がありますので、
ご紹介しておきます。

=RANK(B2,$B$2:$B$4,1)
で、B2が、2という値がでます。
この数式をコピーすると、
B3が、3で、B1が、1という数字がでます。

あとは、このRANK関数を使った、「値」だけは、
昇順で並べ替えボタンで並べ替えられますけど。
(候補名含んで選択して、並べ替えは、できません。
また、列は別にしておかないと、並べ替えはできません。)

自動的にできる方法は、わかりません。
ごめんなさい。
    • good
    • 0

VLOOKUP関数の基本的な使い方がまちがっているのではないでしょうか?


私もあまり詳しくないのですが・・・


B6=VLOOKUP(C7,A2:B4,1,FALSE)

で指定すると、Aの列(正確にはA2~A4)にC7といっちするものがあるかどうかを検索するはずです。
したがって、Aの列には、C7(86)と一致するものがないため”N/A”となるのではないのでしょうか?

検索値が、範囲で指定した領域の先頭領域(例だとA列)に一致したものを検索するのがVLOOKUPの使い方のはずです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

いつもお世話になってます。
以下の関数式について、お時間がありましたらどうぞご教示ください。

=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE))

「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」

純粋になんでこのような構文になるのかが解りません。

1.ISNAってそもそもなんでしょう?
2.同じ式を繰り返すのはなぜ?
(模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。)

・参考となる他所のページがあれば教えて下さい。
・素人です。お手柔らかにお願いします。

(エクセル2003)

Aベストアンサー

1.ISNAってそもそもなんでしょう?
ISで始まる情報関数の一つで、#N/A!エラーのみを判定する関数
結果はTRUE(真),FALSE(偽)のいずれかになります。
エラー判定のIS関数には他に
ISERR:#N/A!を除くすべてのエラーを判定する関数
ISERROR:すべてのエラーを判定する関数
があります。

2.同じ式を繰り返すのはなぜ?
ISNAの判定する値がセルでなく数式の結果だからです。
A2=VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)
なら
A3=IF(ISNA(A2),"",A2)
ということになります。A2のように計算の為のセルを省略する為に
=IF(ISNA(数式),"",数式)のように同じ数式を2回繰り返しになってます。

Q■□■読み方■□■ #N/A, #VALUE!, #REF!,DIV/0!,#NUM!, NAME?, #NULL

前に、似たような質問をされている方がおりましたが、明確な答えが出ておりませんでしたので教えていただけますでしょうか。
以下のようなエクセルのエラー項目の
読み方を教えていただけませんでしょうか。
#N/A
#VALUE!
#REF!
DIV/0!
#NUM!
NAME?
#NULL
よろしくお願いします。
なお、意味は結構です。あくまで読み方を教えていただきたいのです。
しかも、カタカナでお答えいただくと助かります。
勝手言って申し訳ないですが、
よろしくお願いします。

Aベストアンサー

<方法1>略語の由来となっている英語を言う。
※冠詞は省いています。英語の表現は他にもあります。

#N/A Not Available Value ナット・アヴェイラブル・ヴァリュー
#VALUE! Wrong Type of Value ローング・タイプ・オヴ・ヴァリュー
#REF! Invalid Cell Reference インヴァリッド・セル・リファレンス
#DIV/0! Divided by Zero ディヴァイディッド・バイ・ゼロ
#NUM! Invalid Number インヴァリッド・ナンバー
#NAME? Unrecognized Name アンリコグナイズド・ネイム
#NULL! Null Intersection ナル・インターセクション

<方法2>書いてある字をそのまま読む。

#N/A エヌエー
#VALUE! バリュー
#REF! レフ
#DIV/0! ディブゼロ
#NUM! ナム
#NAME? ネーム
#NULL! ナル(ヌル)

<方法3>適当な英語で代表させて「エラー」をつける。

#N/A ノットアベイラブルエラー
#VALUE! バリューエラー
#REF! リファレンスエラー
#DIV/0! ディバイデッドバイゼロエラー
#NUM! ナンバーエラー
#NAME? ネームエラー
#NULL! ヌルエラー

<方法4>日本語を混ぜる。

#N/A 無効エラー
#VALUE! バリューエラー
#REF! 参照エラー
#DIV/0! ゼロ割りエラー
#NUM! ナンバーエラー
#NAME? 名前エラー
#NULL! ヌルエラー

<方法1>略語の由来となっている英語を言う。
※冠詞は省いています。英語の表現は他にもあります。

#N/A Not Available Value ナット・アヴェイラブル・ヴァリュー
#VALUE! Wrong Type of Value ローング・タイプ・オヴ・ヴァリュー
#REF! Invalid Cell Reference インヴァリッド・セル・リファレンス
#DIV/0! Divided by Zero ディヴァイディッド・バイ・ゼロ
#NUM! Invalid Number インヴァリッド・ナンバー
#NAME? Unrecognized Name アンリコグナイズド・ネイム
#NULL! Null Intersection ナル...続きを読む

QVLOOKUP関数が#N/Aで使えません

こんにちは。
エクセルで表を作っています。
VLOOKUP関数を使いたいのですが、エラー#N/Aが出て使えません。とてもシンプルな式なのに、何がだめでできないのか全く解かりません。
式は、=VLOOKUP(C3&D3,A7:D12,4,FALSE)です。
ちなみに、=VLOOKUP(C2,B7:D12,3,FALSE)にはちゃんと反応して数値を返してくれます。違いは検索値だけなのですが、数字になっているので、文字列に指定もしました。違うセルで=C3&D3は返してくれています。
何がいけなくてできないのか、教えていただけると助かります。
よろしくお願いします。

Aベストアンサー

次の点を確認して下さい。
・A7:A17は文字列でない。
 元々、数値だったのをセルの書式設定で文字列に変更しただけでは駄目です。
 この場合、A7:A17を選択→データ→区切り位置→次へ→次へ→列のデーや形式を文字列にチェック→完了をお試し下さい。
⇒(C3&D3)の文字列がA7:A17に存在しない。
 検索値、又は検索列に余分なスペース等が混入していないでしょうか。

QVLOOKUP関数で「#N/A」が出てしまう。

Aのファイルの中にあるコード(英数字8ケタ)の中から、Bのファイルにあるコードに一致しているものをVLOOKUP関数で探し当てようとしています。
Bのファイルに数式を入力しましたが、すべて「#N/A」が出てしまいます。
数式は間違っていません。
念のため、CとDという別なサンプルを作り同じ数式を入力してみたら、それはきちんとできました。
なぜAとBでは出来ないのか解りません。
考えられる原因は何でしょうか?

Aベストアンサー

>Aのファイルの中にあるコード
これは検索先の表の範囲の左端にあるわけですね。
このコードが昇順に並んでいない場合は「検索の型」を0にしないとエラーが出てしまいます。ためしに入れてみてください。

Qエクセル:vlookupで#n/a又は1つズレる

エクセルのSheet1にあるURLを検索対象にして、Sheet2のURLを探し、その商品名を求めたいのですが、どうやっても上手く行きません。
mac版のEXCEL2011です。

該当書類の『Sheet1』に

=VLOOKUP(B2,Sheet2!$O$2:$P$5802,2,0)

と書いていて『Sheet1のB列』は画像URLが入っています。
『Sheet2』の『O』列にURL、『P』列に商品名が入っています。

『P』の対応する文字列を取得したいのですが、
検索方法『FALSE』だと『#N/A』になり、
『TRUE』だと欲しい値の一つ手前の商品が取得されます。(Sheet2はURLを昇順で並べ替えています)

セルの分類は『標準』、大文字小文字、1バイト2バイト文字、スペースの有無は確認し問題はありませんでした。それぞれのシートのurlは単純に検索できます。
新規書類に同様のシートを作成し値としてペーストしても
なお正しく商品名を取得できません。

商品数は10400件ほどあります。

urlのような『/』や『:』がある文字列は計算出来ないのでしょうか?
それともmacだからでしょうか??

お分かりになる方、お知恵いただければと思います。
宜しくお願いします。

エクセルのSheet1にあるURLを検索対象にして、Sheet2のURLを探し、その商品名を求めたいのですが、どうやっても上手く行きません。
mac版のEXCEL2011です。

該当書類の『Sheet1』に

=VLOOKUP(B2,Sheet2!$O$2:$P$5802,2,0)

と書いていて『Sheet1のB列』は画像URLが入っています。
『Sheet2』の『O』列にURL、『P』列に商品名が入っています。

『P』の対応する文字列を取得したいのですが、
検索方法『FALSE』だと『#N/A』になり、
『TRUE』だと欲しい値の一つ手前の商品が取得されます。(Sheet2はURLを昇順で...続きを読む

Aベストアンサー

>検索方法『FALSE』だと『#N/A』になり、
『TRUE』だと欲しい値の一つ手前の商品が取得されます。(Sheet2はURLを昇順で並べ替えています)

このパターンは検索文字とリストの文字が異なる代表的なパターンです。

たとえば、「=検索値のセル=リストの該当セル」という数式をどこか空白セルに入力すると「FALSE」が返ってくる(すなわち同じ値ではない)ことを示しています。

この場合は、検索値のセルに該当するリストの値をコピー貼り付けすれば、エラー表示されなくなります。

このように、見かけ上同じ値であっても異なる文字列として認識されるパターンで最も多いのが、検索値を手入力したのではなくどこかのデータをコピー貼り付けしたような場合です。

このケースの場合は、「=LEN(検索セル)」で返る値と、「=LEN(リストのセル)」で同じ数字が返らないことで確認できますので、その不明文字コードを確認したい(一括削除したい)場合は、上記の検証結果を具体的に補足説明してください。


このカテゴリの人気Q&Aランキング

おすすめ情報