![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
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で質問しましょう!
似たような質問が見つかりました
- 数学 すいません。過去の解答を読み返していて質問が4つあるのですが、 まず一つ目、 「 r>2で n≦-2 12 2022/05/24 16:24
- 統計学 投票のジレンマ。 3 2023/05/13 22:16
- 数学 そこにいる確率。 5 2023/05/30 13:37
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Visual Basic(VBA) VBAで日付入力しているのですが 4 2023/03/02 11:25
- 数学 mtrajcp様に以前答えていただいた解答に関して、 複数の疑問がございます。 どうか、質問を連投す 3 2022/09/03 08:00
- 数学 「<マクローリン展開> f(z)=Σ_{n=-∞~∞}a(n)(z-a)^n(ローラン展開の式)より 3 2022/09/01 08:19
- 工学 画像はテイラー展開の公式です。 <マクローリン展開> f(z)=Σ_{n=-∞~∞}a(n)(z-a 1 2022/09/01 22:56
- 数学 以下の問題が分かりません。 8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット 4 2023/07/22 16:06
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel分数の表示について
-
Excelについての質問です。 B2...
-
EXCELの散布図で日付が1900年に...
-
文字2桁、3桁交じりの文字列...
-
【EXCEL】画像の黄色部分の抽出...
-
マクロエクセルのブロック解除
-
絶対参照
-
Excelで表を作ったところに文字...
-
Excelピボットテーブルの1行目
-
エクセルのクイックアクセスツ...
-
DATE関数で現在の年齢を出した...
-
(マクロ)vlookupの元データを同...
-
PDFの請求明細をエクセルにしたい
-
エクセルのクイックアクセスツ...
-
REGEXREPLACE関数について、
-
職場の人から聞かれており、こ...
-
エクセルの空欄をつめて、次の...
-
ユーザー定義関数をアドイン登...
-
EXCELの質問です 119から足した...
-
エクセルの問題です。絶対値の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報