• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル2つのキー一致の複数同一データへ順位付け)

エクセル2つのキー一致の複数同一データへ順位付け

このQ&Aのポイント
  • エクセルVer.2003を使用して、2つのキーが一致する複数のデータに順位付けをする方法について教えてください。
  • 制約事項として、オートフィルターやマクロは使用せずに、関数のみを使用したいと思っています。また、データには個人を区別できる情報は使用せず、課と係の完全一致に基づいて順位付けをしたいと考えています。
  • 具体的なデータは、各部署毎に3つの課と3つの係があり、各課には最低10人から20人のメンバーがいます。9つの部署に対して、それぞれの部署のメンバーに対して1から4までの順位を付け表示したいと思っています。

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

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

>記載の通り入力したのですが、結果が全てブランクになってしまいます 通常はデータが間違っているのが原因です。設定や数式の問題じゃありません。 たとえば1行目の「東京1係」の1の数字が全角数字の1になっているのでしょう。この部分を半角数字の1に書き換えます。 あるいはC列の書式設定を文字列に変えてから、改めてC列に全角文字の数字で123を書き入れます。 それとも、どこかにゴミデータが紛れているのが原因かもしれません。たとえば「東京」のつもりが実は「東京□」や「□東京1係」(□はスペース)といった具合です。 何らかの特別な理由で今のデータを修正できない(したくない、たとえば全角の123と半角数字の123をナニが何でも使いたい)なら、「実際のデータ」に合うように、数式にもうちょっと手を加える対処も可能です。 いずれにしてもあなたのエクセルのホントの姿がこちらでは目に見えない以上、ご自身で間違い探しをしていただくしかありませんよ。

その他の回答 (4)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.5

>仕事で困っており、皆さんのお力をお借りできますでしょうか。 仕事の手助けを無償ではしたくありません。 他人の褌で相撲を取って賞金は自分のものと言う甘えの構造です。 仕事で必要な出費は損失に計上しますのであなた自身の負担になりません。 とは言うものの頭の体操のつもりで下記の数式を提案します。 >弊社事情でオートフィルターとマクロを使用せず、関数のみ使用を希望しております。 当方ではExcel 2013で検証しましたがExcel 2003でも再現できると思います。 B2セルに次の数式を入力して右と下へ必要数コピーすれば良いでしょう。 =IF(OR(COUNTIF($B$2:$B2,LEFT(C$1,LEN($B2)))=0,COUNTIF($B$2:$B2,LEFT(C$1,LEN($B2)))=MAX(C$1:C1)),"",COUNTIF($B$2:$B2,LEFT(C$1,LEN($B2)))) 数式の論理を理解できなければ他の仕事に応用できませんので数式の解読で知識を高めてください。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.1です。 投稿後思ったのですが、前回の画像の配置通りで良いのであれば D2セルの数式は =IF($B2&$C2&"係"=D$1,MAX(D$1:D1)+1,"") だけで大丈夫です。 ただ >結果が全てブランクになってしまいます。 考えられる原因としては前回の最後に記載したように B・C列データと1行目項目データが一致していない!と思われます。 1行目項目は B・C列のデータ+「係」という文字列になっているか 今一度確認してみてください。 (途中にスペースなどがあってもダメです) ※ 数字の全角・半角の違いでも別データというコトになります。m(_ _)m

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

D2に =IF($B2&$C2&"係"=D$1,COUNT($D1:D1)+1,"") 右に下にコピー ぐらいで。

905566
質問者

補足

ご回答ありがとうございます。 記載の通り入力したのですが、結果が全てブランクになってしまいます。 設定か何かの関係で結果が皆さんと相違してしまうのでしょうか?

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 「順位付け」の意味が良く分からないのですが、 イメージの配置を拝見すると ↓の画像のような感じで良いのでしょうか? そうであれば、画像ではD2セルに =IF(COUNTBLANK($B2:$C2),"",IF($B2&$C2&"係"=D$1,MAX(D$1:D1)+1,"")) という数式を入れ、列・行方向にフィルハンドルでコピーしています。 ※ 質問文では数値が半角と全角混在していますが、 C列のデータと1行目項目の数値の「半角・全角」はどちらかに統一してください。 そうでないと別データとなりすべて空白になってしまいます。 ※ 的外れならごめんなさいね。m(_ _)m

905566
質問者

お礼

ご回答ありがとうございます。私のイメージも添付頂いた画像の通りで間違いないのですが 記載の通り入力したのですが、結果が全てブランクになってしまいます。 設定か何かの関係で結果が皆さんと相違してしまうのでしょうか?

関連するQ&A

専門家に質問してみよう