[[20060311203558]] 『セル番地を変えるとエラーになる 』(kk) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セル番地を変えるとエラーになる 』(kk)
 セル番地をA1をAA10からに変えてもエラーにならない式を教えてください。
 宜しくお願いします
       A                 B          C           D             E         F              G
  1 名前            得点      空欄     順位        名前 全体の順位 全体の順位の名前
  2 のぶお	100		1	ひろし	1	ひろし
  3 よしお	             90		2	はじめ	2	はじめ
  4 かずお	130		3	かずお	3	かずお
  5  たろう	55		3	すすむ	3	すすむ
  6  いちろう	88				5	のぶお
  7  はじめ	150				6	よしお
  8  あきお	70				7	いちろう
  9  けんじ	88				7	けんじ
 10  すすむ	130				9	あきお
 11  ひろし	160				10	たろう
 という表があります
 順位
 セルD2には=IF(RANK(LARGE($B$2:$B$11,ROW(A1)),$B$2:$B$11)>3,"",RANK(LARGE($B$2:$B$11,ROW(A1)),$B$2:$B$11))
 名前
 セルE2には=IF(D2="","",INDEX($A$1:$A$11,100-LARGE(INDEX((LARGE($B$2:$B$11,ROW(A1))=$B$2:$B$11)*100-ROW($B$2:$B$11),0),COUNTIF($D$2:D2,D2))))
 全体の順位
 セルF2には=IF(RANK(LARGE($B$2:$B$11,ROW(C1)),$B$2:$B$11)>10,"",RANK(LARGE($B$2:$B$11,ROW(C1)),$B$2:$B$11))
 全体の順位の氏名
 セルG2には=IF(F2="","",INDEX($A$1:$A$11,100-LARGE(INDEX((LARGE($B$2:$B$11,ROW(A1))=$B$2:$B$11)*100-ROW($B$2:$B$11),0),COUNTIF($F$2:F2,F2))))
 Excel2002   WindowsXP

 ROW()関数の
 ROW(A1),ROW(C1)は1から始まる連続した数値を出すためのものですので
 そのままにしてください。

 ROW($B$2:$B$11)については実際の範囲に合わせてください

 (しげちゃん)

再々度ご教示ください。どうしても判りません。
 順位と全体の順位は何とかクリアしました。でもしかし
 F2に入っていた
 =IF(F2="","",INDEX($A$1:$A$11,100-LARGE(INDEX((LARGE($B$2:$B$11,ROW(A1))=$B$2:$B$11)*100-ROW($B$2:$B$11),0),COUNTIF($F$2:F2,F2))))
 をAF11に持っていくとどうしてもエラーになります。
 書き替え後
 =IF(AF11="","",INDEX($AA$10:$AA$20,100-LARGE(INDEX((LARGE($AB$11:$AB$20,ROW(A1))=$AB$11:$AB$20)*100-ROW($AB$11:$AB$20),0),COUNTIF($AF$11:AF11,AF11))))
 また
 =IF(D2="","",INDEX($A$1:$A$11,100-LARGE(INDEX((LARGE($B$2:$B$11,ROW(A1))=$B$2:$B$11)*100-ROW($B$2:$B$11),0),COUNTIF($D$2:D2,D2))))
 をAD11に持っていくとどうしてもエラーになります。
 書き替え後 
 =IF(AD11="","",INDEX($AA$10:$AA$20,100-LARGE(INDEX((LARGE($AB$11:$AB$20,ROW(AA10))=$AB$11:$AB$20)*100-ROW($AB$11:$AB$20),0),COUNTIF($AD$11:AD11,AD11))))
 色々と書き換えてみましたがどうしてもエラーになります。どこをどう書き換えればいいのでしょうか。
 どうかご教授してください。お願いします。
 (kk)

 どこからこの式を参照したかわかりませんが、個人的に使用をお薦めできませんね
 きちんと、配列数式を理解してほしいと思います。

 それはさておいて、どこにどの式を入力したのか不明です。

 >F2に入っていた
 G2の間違いでは?
 >=IF(F2="","",INDEX($A$1:$A$11,100-LARGE(INDEX((LARGE($B$2:$B$11,ROW(A1))=$B$2:$B$11)*100-ROW($B$2:$B$11),0),COUNTIF($F$2:F2,F2))))
 >をAF11に持っていくとどうしてもエラーになります。

 >書き替え後
 >=IF(AF11="","",INDEX($AA$10:$AA$20,100-LARGE(INDEX((LARGE($AB$11:$AB$20,ROW(A1))=$AB$11:$AB$20)*100-ROW($AB$11:$AB$20),0),COUNTIF($AF$11:AF11,AF11))))

 AF11 に書き換え後の式が入力されれば (循環参照)になります。

 全体の順位を求める式を入力したセル範囲に変更してください
 (たぶん AE列だと思いますがので・・・)

 AF  を AE に変更

 また INDEXの参照範囲は1行目からです。

 INDEX($AA$10:$AA$20 を INDEX($AA$1:$AA$20 としてください
 INDEX($AA:$AA でもいいです

 (しげちゃん)


出来ました。しげちゃんさんありがとうございます。
 AF11には{=IF(AF11="","",INDEX($AA$1:$AA$20,100-LARGE(INDEX((LARGE($AB$1:$AB$20,ROW(A1))=$AB$1:$AB$20)*100-ROW($AB$1:$AB$20),0),COUNTIF($AF$11:AF11,AF11))))}
 これで出来ました。
 AEには{=IF(AD11="","",INDEX($AA$1:$AA$20,100-LARGE(INDEX((LARGE($AB$1:$AB$20,ROW(A1))=$AB$1:$AB$20)*100-ROW($AB$1:$AB$20),0),COUNTIF($AD$11:AD11,AD11))))}
 で出来ました。本当にありがとうございました。
 配列数式も判らず何とかここまでこぎつけました。皆様のおかげです。
 (kk) 

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.