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で質問しましょう!
似たような質問が見つかりました
- PHP 【スプレッドシート】順位のつけ方 2 2022/08/17 13:27
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- 日本語 複数枚ある画像を日付降順(最新順)に並べた場合、最新から3番目までの順位を何と言いますか? 2 2022/08/05 23:14
- Java Java 南京錠 2 2023/02/04 11:46
- Excel(エクセル) RANK.EQとCOUNTIFSの組み合わせで同ポイントの場合、違う条件を加えて順位を付けたい。 1 2022/08/30 19:49
- Excel(エクセル) Excel 毎日手作業で時間がかかって、泣きたいです、、、VBAのプロの方、助けてください。。。 3 2022/10/25 04:26
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- Visual Basic(VBA) VBA シート間の転記で、条件の追加コードの書き方について教えて下さい。 13 2023/02/26 09:31
- Excel(エクセル) Excel 複数列のある文字を優先して1列に表示したいです 2 2022/12/03 12:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelはなんで先頭の0を消すん...
-
Excel元に戻す方法を教えてくだ...
-
【Microsoft Office Excel Comp...
-
Excelが固まってしまった。
-
西暦や和暦の表示をyyyymmdd表...
-
Excel 2019 のピボットテーブル...
-
【関数】スペースがいくつ入っ...
-
【Excel】セル内の時間帯が特定...
-
excelの不要な行の削除ができな...
-
Excelのオートフィル
-
別シートからの文字を変更
-
Excelのセルを飛ばして入力する
-
Excel初心者です。 詳しい方、...
-
エクセルの行の抽出について質...
-
Excel初心者です。 詳しい方、...
-
【マクロ】エクセルにかいてあ...
-
EXACT関数とIF関数の組み合わせ...
-
スプレッドシート クエリ関数 1...
-
エクセルで指定した日付、店舗...
-
Excelのグラフ軸について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報