• ベストアンサー

エクセル関数

  A  B  C  D  E  F  G 1 10  1  20  1  30  1  8 2 9 2 0 - 0 - - 3 8 3 15 3 23 3 6 4 5 4 19 2 24 2 7 B=Aの順位 、 D=Cの順位 、 E=A+C 、F=Eの順位 、G=Fの得点 の時 G=Fが1の時8、2の時7・・・8の時1、9以下空白 Cが0(ゼロ)の時Dが空白 Eが0(ゼロ)の時Fが空白 上記の場合の関数をどなたか回答よろしくお願いします。 うまく表示できていませんがCとE以外は1桁の数字で、D,F,Gの-は空白です。

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

  • ベストアンサー
  • Yosha
  • ベストアンサー率59% (172/287)
回答No.3

分かり易い式を使う事にします。 各列の配置は、質問の内容に従っています。 変更する場合(例えば先頭行にタイトル行を加えたいなど)は下の式を先に入力して、行とか列を挿入すると式の内容はエクセルが自動的に変換してくれます。 “B1”に“=IF(OR(A1=0,A1=""),"",RANK(A1,A$1:A$20))” “D1”に“=IF(OR(C1=0,C1=""),"",RANK(C1,C$1:C$20))” “E1”に“=IF(A1="","",A1+C1)” “F1”に“=IF(OR(E1=0,E1=""),"",RANK(E1,E$1:E$20))” “G1”に“=IF(F1="","",9-F1)” を書き込みます。 “A1”“C1”にデータを入れると、計算結果が表示されます。 2行以降は、式の入っている列を予め下方にドラッグして各式をコピーしておくか、先にデータを入力して、1行目に入っている各式を選択し、右下の“+”をWクリックするかのいずれでもOKです。 もし、データ行数が“20”を超えるようでしたら、上記各式の中の範囲を示す部分(A$1:A$20など)を修正してください。入力行が式の入っている行より少ない場合(例えば10行とか15行)は、このままでも構いません。

その他の回答 (3)

noname#204879
noname#204879
回答No.4

B1: =IF(A1=0,"",RANK(A1,A$1:A$4)) D1: セル B1 をコピー&ペースト E1: =IF(A1*C1,A1+C1,0) F1: セル B1 をコピー&ペースト G1: =IF(F1="","",9-F1)

  • 1224jmm
  • ベストアンサー率0% (0/6)
回答No.2

こんにちは。 簡単な式ですけど、こんなんでどうでしょう。 この式をG列に入れたいとすると、 =IF(OR($C1=0,$E1=0,9-$F1<=0),"",9-$F1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

>G=Fの得点の時 この意味が良くわかりませんが ーー Fの(順位?)コートとGのコートの対応表を空きの列につくり 1 8 2 7 3 6 4 5 5 4 6 3 7 2 8 1 9  >9以下空白 9以上空白?? VLOOKUP関数のTRUE型を使えばよいのでは? 「9以上空白」を盛り込むには、IF関数を組み合わせる =IF(F1>=9,"",VLOOKUP(・・)) のように。VLOOKUP関数はわかりますよね。 判らなければWEB照会(例Googleで「エクセル VLOOKUP」で照会)してください。重要な関数です。 ーー Cが0(ゼロ)の時Dが空白 Eが0(ゼロ)の時Fが空白 はG列とは、別問題ですね? ゼロ以外の場合は(、D、FはRANK関数で出したものでよいのかな?) それなら=IF(C1=0,"",RANK(C1:C20) のようでよいのかな。 2つの質問があるようだが、質問が整理されていないので判りにくい。

関連するQ&A