No.8ベストアンサー
- 回答日時:
たびたび、すみません。
#7で *はAND +はORとして扱われます。
と書きましたが、ちょっと違うみたいです。
#5の解説の通り、Trueは1、Falseは0で掛け算、足し算してます。
わかりにくい説明をしてすみません。
taisuke555さん、何回もお返事くださって、本当に有難うございます。貴重なお時間を割いていただいて、申し訳ないですm(__)m。完璧なお答えでした。驚きで私は、すごいなーとただ感心するだけです。今回は大変お世話になりました。今後のご活躍を祈念いたします。それではまた、どこかでお世話になると思います(^^)/~~~
No.7
- 回答日時:
A B C ←列 順位
1 10 8 1 2
2 12 9 3 5
3 11 7 4 4
4 10 6 2 3
5 12 8 6 6
6 10 8 3 1
↑
行
のような感じでよいですか?
複雑になってきたので、RANK関数使っていません。(前の質問もRANK関数使わずにできます。)
D1セルに
=SUMPRODUCT(($A$1:$A$6<A1)+($A$1:$A$6=A1)*(($B$1:$B$6>B1)+($B$1:$B$6=B1)*($C$1:$C$6>C1)))+1
*はAND +はORとして扱われます。
A1~A6で A1より小さい または
A1~A6で A1と同じ かつ (B1~B6で B1より大きい または B1~B6で B1と同じ かつ C1~C6で C1より大きい)
条件のセルがいくつあるか数え、+1(その次の順位)としています。
間違っていたら補足してください。
No.6
- 回答日時:
#2、#5で回答したものです。
補足です。
*1を書いてあった理由は
例えば、A1~A4の中にA1と同じ値がいくつあるかを求めたい場合、
=SUMPRODUCT($A$1:$A$4=A1)
ではTrue又はFalseを加算しようとしてうまくいきません。
そこで、
=SUMPRODUCT(($A$1:$A$4=A1)*1)
とするとTrue=1,False=0に変換して数字として計算してくれます。
今回の数式も論理式のみでしたので必要かな?と思い付けましたが、
掛け算をしようとした段階で、変換してくれるようなのではずしました。
こんな感じで私もいつも試行錯誤しながら数式を作成してます。
この回答への補足
ご回答有難うございます。ご説明で何となくバカな私もわかったのですが、実は求めたい順位が、条件がもうひとつあって、つまりセルAの得点、セルBの得点、セルCの得点の3つの条件があるのですが、Aの得点では、一番少ない点数が上位、同点の場合はBの得点の多い方が上位、さらに同点の場合、Cの得点の多い方が上位という順位付けになっているのですが、前回説明が長くなると思って簡素化し、taisuke555さんの式を変形してやってみたのですが、うまくいきません。たび重ねて申し訳ありませんが、お分かりでしたら、お教えください。
補足日時:2003/07/12 16:05No.5
- 回答日時:
今、試してみたところ
=RANK(A1,$A$1:$A$4)+SUMPRODUCT(($A$1:$A$4=A1)*($B$1:$B$4>B1))
で大丈夫みたいです(*1をはずしました。)
>素人にもわかりやすく、日本語訳で 式の解説をしていただけたら、幸いです。
分かりやすく説明ができるか不安ですが、解説してみます。
RANK関数の方はよろしいですね。
=SUMPRODUCT(($A$1:$A$4=A1)*($B$1:$B$4>B1))
は
=(A1=A1)*(B1>B1)+(A2=A1)*(B2>B1)+(A3=A1)*(B3>B1)+(A4=A1)*(B4>B1)
と同様の意味です。
($A$1:$A$4=A1)→(A1=A1),(A2=A1),(A3=A1),(A4=A1)
A1~A4でA1と同じ値のセルはTrue、違う場合はFalseが返ります。
($B$1:$B$4>B1)→(B1>B1),(B2>B1),(B3>B1),(B4>B1)
同様にB1~B4でB1より大きい値のセルはTrue、同じか小さい場合はFalseが返ります。
その2つの論理式を掛けると
True=1、False=0という数字になって計算されます。
よって、
True * True = 1*1 = 1
True * False = 1*0 = 0
False * True = 0*1 = 0
False * False = 0*0 = 0
と、両方がTrueの場合のみ1となります。
その計算をA1~A4(B1~B4は対)まで計算し、結果を足し算しています。
同様の数式に配列数式(式を入力後[Enter]のかわりに[Ctrl]+[Shift]+[Enter])
=SUM(($A$1:$A$4=A1)*($B$1:$B$4>B1))
というのもあります。(解説はまったく一緒です。)
書いていてもうまく説明できていない事がわかりますが、説明が難しいです。
>劣等感や嫌悪感を感じます。
ご覧のように文章を作るのは(人に説明するのは)まったくだめです。
私にも1つ位、とりえがあってもよいと思いますので
そんな風に考えず、分からない所は分からないで質問し、分かる所を教えていってお互い成長しましょう!
長文の割には的を得ない回答ですみません。
No.4
- 回答日時:
まあ出きると言うことで
(1)空き列に順番に上から1,2,3・・をオートフィルで振る。(仮にC列)
(2)データ-並べ替え
第1キー-A列降順,第2キーB列降順でソート
(3)ソート後のデータに上行から1,2,3・・・と
オートフィルで番号を振る(仮にD列とする。)
(4)(1)のC列で昇順にソート
D列が順位になっています。
エクセルを使わない(使えない)、オフラインバッチ処理プログラムなどは、この方法(ソートを使う)を使うと思います。即ちシステム的には汎用性のある方法と思います。
No.2
- 回答日時:
C1セルに
=RANK(A1,$A$1:$A$4)+SUMPRODUCT(($A$1:$A$4=A1)*($B$1:$B$4>B1)*1)
でどうですか?
A列が同じで、B列が大きい数がいくつあるか数え加算しています。
この回答への補足
早速のお答え有難うございます。教えてくださった式をそのまま貼り付けて見たのですが、まず完璧な式のようですが、よくぞ、このような式がすぐわかるものだと、つくずく感心し、どうして私はこんな頭がないのだろうと劣等感や嫌悪感を感じます。素人にもわかりやすく、日本語訳で
式の解説をしていただけたら、幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの質問です。 F列からL...
-
作成した数式を値として表示し...
-
エクセルの文字が途中から消える
-
条件付き書式設定で罫線を引き...
-
Excel関数について教えてくださ...
-
Excelの警告について
-
Excel関数について教えてくださ...
-
ワークシートに出現したこの画...
-
エクセルのセル内に分数などの...
-
タイムスタンプとテキストから...
-
EXCELの散布図で日付が1900年に...
-
エクセルでファイルの最終更新...
-
シートの情報を別のシートへま...
-
マクロの処理が遅くなった
-
エクセルの数式バーのフォント...
-
エクセルの「条件付き書式」を...
-
エクセル日付 文字列の関数がエ...
-
Excelでの文字色
-
Excelの数字の前に入っている空...
-
Excelについて教えてください。...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
Excelで数値を時間数に変換する...
-
エクセルの数式バーのフォント...
-
エクセルで数字の組み合わせを...
-
エクセルを使用して、円周率を...
-
Excelで特定の文字列が含まれて...
-
Excel 対象のセルに入力が無い...
-
任意の値が存在する行に名前を...
-
エクセルでファイルの最終更新...
-
index関数の説明をお願いします。
-
条件付き書式でやりたいのですが
-
重複しない値を取り出したい
-
【ExcelVBA】UTF-8(BOM無)でC...
-
【マクロ】マクロが割当てされ...
-
エクセル IF計算式?でしょうか?
-
エクセルで曜日を入れたい
-
表中の指定した条件の文字列を...
-
【Excel】版が同じ事を示す番号...
-
EXCELの散布図で日付が1900年に...
-
Excelについて。Excelに縦1列に...
おすすめ情報