【お知らせ】カテゴリの見直しについて

麻雀の得点表をつくろうと思います。(あいうえはプレイヤーです)
   A    B   C    D   E   F   G
1 日付   あ   い    う    え 
2  2/1    38    -30    4   -12
3        29   -15    -22    8
4
5  2/2    -26     3    -3    26
6        -17    35    -16   -2
7
8

上のデータを元にして一人ひとりに下のような順位表をつくりたいです。
例えば  

あ 1位 2回   い 1位 1回
  2位 0回     2位 1回
  3位 1回     3位 1回
  4位 1回     4位 1回

これは一番上のデータを入力するだけで更新されるようにしたいです。

RANK関数などやってみたけどイマイチだめでした。

関数に詳しい方、教えてください!
 

A 回答 (2件)

私なら、添付画像のように配置して、



G2に
=RANK(B2,$B2:$E2)
と入力し、それをH2:J2にコピペ。
さらに、成績を記入するたびに、その行のG:Jに、G2:J2をコピペ。

M2からM5まで
=COUNTIF(G:G,1)
=COUNTIF(G:G,2)
=COUNTIF(G:G,3)
=COUNTIF(G:G,4)
と記入し、M2:M5をN2:P5にコピペ。

としますね。
「excelで得点の順位をつけたい(マイナ」の回答画像2
    • good
    • 1

一度にやろうと思わずに、半荘毎の順位をG~J列にRANK関数でつけ、それをカウントしてはいかがですか?



半荘毎の順位
G2セルに =RANK(B2,$B2:$E2) と、入れてオートフィル

こうすると、「あ」さんの1位の回数は =COUNTIF(G:G,1)
同様に2位の回数 =COUNTIF(G:G,2)
と、言う感じで出せます。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

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

Qエクセルで麻雀の集計表できませんか?

麻雀が好きで月1回やっています。
ただ、夜遅くなって4人のプラスマイナスの計算が面倒です。そこでエクセルを利用して半チャンごとに2位、3位、4位の数値を入れると自然にトップの点数を計算してくれるような集計表をダウンロードできるサイトをご存知でしたら教えてください。

Aベストアンサー

ここにいろいろあるみたいだから、後は自分で探してみてね
http://www.vector.co.jp/vpack/filearea/win/game/table/mahjong/index.html

参考URL:http://www.vector.co.jp/vpack/filearea/win/game/table/mahjong/index.html

Q【Excel】ゼロを除いたランク付け(マイナス有)

お世話になります。

表題の通りなのですが、Excelでマイナス値も含めた点数があり、それに順位を付ける場合の式を教えてください。

例えば
   A   B  
1  20
2  24
3   0
4  -5

とした場合、通常の式 「=RANK(A1,$B$1:$B$4,0)」 で良いと思うのですが、それでは 
   A   B
1  20   2
2  24   1
3   0    3
4  -5   4
となりますよね?

しかし、こうではなく
   A   B
1  20   2
2  24   1
3   0   -
4  -5   3

のようにゼロの部分を除いた範囲で順位付けをしたいのです。

見づらくて大変申し訳ありませんが、お知恵をいただければ幸いです。

Aベストアンサー

RANK関数の代替は,自分より大きいデータの個数+1番と数えます。
B1:
=IF(A1=0,"-",SUMPRODUCT(($A$1:$A$10<>0)*($A$1:$A$10>A1))+1)
以下コピー。

#参考:同得点を出現順などにして同順位にしない計算も,この応用です。



また既出ご回答の秀逸なアイデアを拝借して
=IF(A1=0,"-",RANK(A1,A:A,0)-IF(A1<0,COUNTIF(A:A,0)))
のようなやり方でもできますね。

Qエクセルでの順位に応じた点数のつけ方について

下のようなシートがあります。
  A  B
 順  点
 5  【 】
4 【 】
10 【 】
1 【 】
このような場合の時にBの【 】の中に得点を入れたいです。
条件としては、1位~8位までが得点がもらえ、
点数としては1位8点、2位7点、・・・・8位1点、それ以降は0点
と設定したいのですが、どのような計算式を入力すると良いのでしょうか。

よろしくお願いします。

Aベストアンサー

こんばんは!

A列の数値は「順位」と考えてよいのですね?
B2セルの表示形式をユーザー定義から
【0】
としておき
=IF(A2="","",IF(A2<=8,9-A2,0))

という数式を入れフィルハンドルで下へコピーしてみてください。m(_ _)m

Qエクセル2003 RANK関数

A列に0を含め、正の数、負の数(セルの書式設定で「-」を付けた)が混在したデータがあり
B列にLANK関数を使って昇順で順位を付けたいのですが、マイナス表示のデータがあるため
うまくいきません。この問題を解決する方法があれば教えてください。

Aベストアンサー

 LANK関数という関数は存じませんが、もしかすると、RANK関数の間違いではないでしょうか。
 Excel2003では、どうなっているのかは分かりませんが、少なくともExcel2002では、マイナスの数値が含まれていても、RANK関数を使用して、普通に順位を付ける事が出来ます。
 昇順で(即ち値が小さいものから)順位を付ける場合には、B1セルに次の数式を入力してから、B1セルをコピーして、B2以下に貼り付けると良いと思います。

=RANK($A1,$A:$A,1)

 尚、A列にが空欄のセルが含まれている場合には、次の様な数式に修正して下さい。

=IF(ISNUMBER($A1),RANK($A1,$A:$A,1),"")

 又、昇順で順位を付けるのではなく、0に近い順に順位を付ける場合には、次の様な数式となります。
 A列の数値データーがA2~A99の範囲に存在する場合のA2の数式

=IF(ISNUMBER($A2),SUMPRODUCT((ABS($A$2:$A$99)<ABS($A2))*1)+1,"")

 A列の数値データーがA2から始まるが、最後のデーターが存在する行が不明の場合の数式

=IF(ISNUMBER($A2),SUMPRODUCT((ABS($A$2:INDEX($A:$A,MATCH(99^9,$A:$A)))<ABS($A2))*1)+1,"")

 LANK関数という関数は存じませんが、もしかすると、RANK関数の間違いではないでしょうか。
 Excel2003では、どうなっているのかは分かりませんが、少なくともExcel2002では、マイナスの数値が含まれていても、RANK関数を使用して、普通に順位を付ける事が出来ます。
 昇順で(即ち値が小さいものから)順位を付ける場合には、B1セルに次の数式を入力してから、B1セルをコピーして、B2以下に貼り付けると良いと思います。

=RANK($A1,$A:$A,1)

 尚、A列にが空欄のセルが含まれている場合には、次の...続きを読む

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルで、自動的にランク順に順番を表示させる方法

エクセルで、自動的にランク順に順番を表示させる方法

エクセル2003を使用しています。

T列に名前、U列にその人の点数が表示されています。
これに対し、点数の高い順に自動的に並べ替えてB列に順位、C列に名前を表示させたいです。

同じ点数がある場合、以下の様な表示をしたいです。
1位 Aさん 80点
2位 Bさん 70点
2位 Cさん 70点
4位 Dさん 60点

表示>並べ替えは使用しないで、関数で対応したいです。
分かる方いましたら、お願いします。

Aベストアンサー

なるべくシンプルな計算式で。

添付図:
S2に
=RANK(U2,U:U)+ROW()/1000
以下コピー。

B2に
=VLOOKUP(SMALL($S:$S,ROW(A1)),$S:$U,COLUMN(),FALSE)
B,C列にコピー。

A2に
=RANK(C2,C:C)
以下コピー,
必要に応じてA列を右クリックしてセルの書式設定の表示形式のユーザー定義で
0位
と設定しておくなど。

Qcountif関数で離れた場所を検索範囲にする。

countif関数で離れた場所を検索範囲にしたいのですが、いい方法がありますか?

普通に範囲指定するとA1:F6のようにはできますよね。
2列おきに範囲指定するよい方法はないかと思っています。どなたか教えていただけませんか?


 A B C D E F





Aベストアンサー

いくつか考えてみました。
 (COUNTIF1つで出来る方法は見つかりませんでした。)
気に入る方法があればいいですけど。

1.範囲毎に分ける
=COUNTIF(A1:A6,">5")+COUNTIF(D1:D6,">5")
又は
=SUMPRODUCT((A1:A6>5)+(D1:D6>5))

2.Mod関数とColumn関数を利用する。
  列番号を3で割った時の余りが1で、値が5より大きいセルの個数
=SUMPRODUCT((MOD(COLUMN(A1:F6),3)=1)*(A1:F6>5))
  (こちらは普通の関数。入力後、[Enter]で確定)
又は
=SUM((MOD(COLUMN(A1:F6),3)=1)*(A1:F6>5))
  (こちらは配列数式。入力後、[Enter]の代わりに[Ctrl]+[Shift]+[Enter])

3.VBAでユーザー関数を作成
=Countif2(">5",A1:A6,D1:D6)
(Countif2(条件,セル範囲1,セル範囲2,・・・・)

標準モジュール
Function COUNTIF2(条件, ParamArray セル()) As Long
  Dim i As Long
  For i = 0 To UBound(セル)
    COUNTIF2 = COUNTIF2 + Application.WorksheetFunction.CountIf(セル(i), 条件)
  Next i
End Function

すべて同じ結果になります。
・SUMPRODUCTと配列数式は列全体の指定は出来ません。A:F等
・2列分位なら範囲毎に指定してもいいと思います。

いくつか考えてみました。
 (COUNTIF1つで出来る方法は見つかりませんでした。)
気に入る方法があればいいですけど。

1.範囲毎に分ける
=COUNTIF(A1:A6,">5")+COUNTIF(D1:D6,">5")
又は
=SUMPRODUCT((A1:A6>5)+(D1:D6>5))

2.Mod関数とColumn関数を利用する。
  列番号を3で割った時の余りが1で、値が5より大きいセルの個数
=SUMPRODUCT((MOD(COLUMN(A1:F6),3)=1)*(A1:F6>5))
  (こちらは普通の関数。入力後、[Enter]で確定)
又は
=SUM((MOD(COLUMN(A1:F6),3)=1)*(A1:F6>5))
  ...続きを読む

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qexcelでテストのランキングの表を作りたい

excel2003で100人ほどのテストの点数のランキングの表を作りたいです。

元の表として「氏名」「点数」「順位」の項目をつくり、氏名、点数は手入力で、順位はRANKという関数で順位を与えました。

そして、その中で上位30位を別の表として「順位(1位から30位)」「点数」「氏名」という項目を作り表作成したいんですけど
点数に該当する氏名の表示方法がわかりません。

・「順位」→RANKで1位から、30人分を表示(元の表の点数を変えると順位も変わる)
・「点数」→LARGEで点数の高い順に表示(元の表の点数を変えると順位も変わる)

・「氏名」→その点数に該当する氏名を表示する方法がわかりません。また、同じ点数が数名いる場合に氏名が重複しないようにするにはどうすればいいでしょうか。

エクセル初心者です。よろしくお願いします。
わかりにくい説明ですいません、何かあったら補足で説明いたします。

Aベストアンサー

◆6人のランキング表から上位3位までを表示しています
◆Sheet1
    A       B     C
1   氏名     点数  順位
2  大阪 太郎   88    1
3  神戸 次郎   77    4
4  京都 春子   82    2
5  奈良 三郎   65    5
6  三重 秋子   82    2
7  山口 四郎   63    6

◆Sheet2
   A    B     C
1  順位  点数   氏名
2   1   88   大阪 太郎
3   2   82   京都 春子
4   2   82   三重 秋子

A2=IF(SMALL(Sheet1!C:C,ROW(A1))>3,"",SMALL(Sheet1!C:C,ROW(A1)))

B2=IF(A2="","",LARGE(Sheet1!B:B,ROW(A1)))

C2=IF(A2="","",INDEX(Sheet1!A:A,SUMPRODUCT(LARGE((Sheet1!$B$2:$B$200=B2)*(ROW($B$2:$B$200)),COUNTIF($B$2:B$200,B2)-COUNTIF($B$2:B2,B2)+1))))

★共に下にコピー

◆6人のランキング表から上位3位までを表示しています
◆Sheet1
    A       B     C
1   氏名     点数  順位
2  大阪 太郎   88    1
3  神戸 次郎   77    4
4  京都 春子   82    2
5  奈良 三郎   65    5
6  三重 秋子   82    2
7  山口 四郎   63    6

◆Sheet2
   A    B     C
1  順位  点数   氏名
2   1   88   大阪 太郎
3   2   82   京都 春子
4 ...続きを読む


人気Q&Aランキング