
MATCH関数で検索範囲内に同じ値の検索値が複数ある場合の処理に悩んでいます。
(Sheet1)
ABCD
名称点数順位備考
あああ806アアア
いいい903イイイ
ううう855ウウウ
えええ903エエエ
おおお806オオオ
かかか709カカカ
ききき806キキキ
くくく6010ククク
けけけ1001ケケケ
こここ952コココ
C2=RANK(B2,B$2:B$11)
Sheet1のこの表からSheet2に
(Sheet2)
順位名称点数備考
1けけけ100ケケケ
2こここ95コココ
3いいい90イイイ
4えええ90エエエ
5ううう85ウウウ
6あああ80アアア
7おおお80オオオ
8ききき80キキキ
9かかか70カカカ
10くくく60ククク
という表を作ろうとして、
(Sheet2)
ABCDE
順位検索名称点数備考
19けけけ100ケケケ
210こここ95コココ
32いいい90イイイ
4#N/A#N/A#N/A#N/A
53ううう85ウウウ
61あああ80アアア
7#N/A#N/A#N/A#N/A
8#N/A#N/A#N/A#N/A
96かかか70カカカ
108くくく60ククク
B2=MATCH(A2,Sheet1!$C$2:$C$11,0)
C2=INDEX(Sheet1!$A$2:$A$11,B2)
E2=INDEX(Sheet1!$B$2:$B$11,B2)
E2=INDEX(Sheet1!$D$2:$D$11,B2)
としたのですが、90点が2人、80点が3人の部分が、#N/Aとなってしまいました。
Sheet1に4,7,8位がないのが原因と言うところまではわかったのですが、このような場合どのように処理すればよいのでしょうか。
Sheet2の同じ点数の順位の表示は、6位6位6位ではなくて、6位7位8位のままで編集したいと考えています。
また、同一順位内での表示順序はどうなってもいいと考えています。
エクセル2003です。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
◆こんな方法もありますよ
◆Sheet1の順位の式
C2=RANK(B2,$B$2:$B$11)+COUNTIF($B$2:B2,B2)-1
★下にコピー
◆Sheet2の「名称」の式
B2=INDEX(Sheet1!A$2:A$11,MATCH($A2,Sheet1!$C$2:$C$11,0))
★右にコピーすると、「点数」の式になります
◆Sheet2の「備考」の式
D2=INDEX(Sheet1!D$2:D$11,MATCH($A2,Sheet1!$C$2:$C$11,0))
★下にコピー
回答ありがとうございます。
現在作成中のものの「Sheet1の順位の式」だけを修正して、完成することができました。
Sheet2の「名称」の式と、Sheet2の「備考」の式を使えば、補助列を使わなくてすむんですね。
今後の参考にします。
ありがとうございました。
No.3
- 回答日時:
こんにちは。
私も補助列を設けたほうがよいと思います。
どこでもよいのですが、ここでは、Sheet2 のE列にさせていただきます。
E2:~下にフィル・ドラッグダウン・コピー
=MOD(SMALL(INDEX((Sheet1!$C$2:$C$11+ROW(Sheet1!$C$2:$C$11)/100),,),ROW(Sheet1!C1)),1)*100
A2:
=INDEX(Sheet1!$A$1:$D$11,$E2,3)
B2:
=INDEX(Sheet1!$A$1:$D$11,$E2,1)
C2:
=INDEX(Sheet1!$A$1:$D$11,$E2,2)
D2:
=INDEX(Sheet1!$A$1:$D$11,$E2,4)
回答ありがとうございます。
Sheet1に変更を加えずに、さらに同じ順位の表示もそろえることができるんですね。びっくりしました。
今回は、現在作成中のデータの「Sheet1の順位の式」を変更するだけの方が手間も少なく目的を達成できたので、回答2の方法を使わせてもらうことにしました。
将来的には、同じ順位の表示もそろえたいと思っていたので、次回作り直すときに使わせてもらいます。
ありがとうございました。
No.1
- 回答日時:
作業列を使ってよいなら、まずSheet1のE2に以下の式を入れて下へコピーします。
=C2+(COUNTIF($C$2:C2,C2)-1)/100
これはC列に同じ順位があったときに、出てきた順番に0.01単位で差をつけて違う順位にする式です。
次にSheet2のF2に以下の式を入れて下へコピーします。
=SMALL(Sheet1!$E$2:$E$11,A2)
最後に、Sheet2のB2の式を以下の式にして下へコピーします。
=MATCH(F2,Sheet1!$E$2:$E$11,0)
Sheet1のE列、Sheet2のF列がじゃまなら、列を右クリックして「表示しない」を選択すると非表示にできます。
回答ありがとうございます。
今回は、Sheet1の順位の表示は正確でなくても良かったので(すみません書いておりませんでした)、回答2の方の
C2=RANK(B2,$B$2:$B$11)+COUNTIF($B$2:B2,B2)-1
を使わせてもらうことにしました。
Sheet1の順位の表示も正確にする必要ができたときに、使わさせてもらいます。
>C列に同じ順位があったときに、出てきた順番に0.01単位で差をつけて違う順位にする式です。
この部分非常に参考になりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUP FALSEのこと
-
【関数】【マクロ】売上X円以上...
-
【マクロ 画像あり】Exact関数...
-
空白処理を空白に
-
同じ名前(重複)かつ 日本 ア...
-
エクセルでフィルターした値を...
-
エクセルシートの見出しの文字...
-
空白のはずがSUBTOTAL関数でカ...
-
excel
-
if関数の複数条件について
-
【マクロ】数式を入力したい。...
-
Excelで4択問題を作成したい
-
Excel 複数のセルが一致すると...
-
Excel 日付の表示が直せません...
-
表計算ソフトでの様式の呼称
-
【マクロ】既存ファイルの名前...
-
【マクロ】エラー【#DIV/0!】が...
-
【マクロ】実行時エラー '424':...
-
エクセルの文字数列関数と競馬...
-
エクセルに写真が貼れない(フ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでフィルターした値を...
-
if関数の複数条件について
-
エクセルシートの見出しの文字...
-
excel
-
エクセルの文字数列関数と競馬...
-
VLOOKUP FALSEのこと
-
同じ名前(重複)かつ 日本 ア...
-
表計算ソフトでの様式の呼称
-
エクセルに写真が貼れない(フ...
-
【マクロ】数式を入力したい。...
-
【マクロ】実行時エラー '424':...
-
【画像あり】オートフィルター...
-
Office2021のエクセルで米国株...
-
【画像あり】【関数】指定した...
-
エクセルのVBAで集計をしたい
-
【マクロ】【画像あり】4つの...
-
【関数】3つのセルの中で最新...
-
【マクロ】excelファイルを開く...
-
LibreOffice Clalc(またはエク...
-
エクセルのライセンスが分かり...
おすすめ情報