- ベストアンサー
エクセル2003の関数について
A B 1 100 50 2 300 150 3 500 300 4 400 240 5 200 100 このように、A列に数字を入れていったときにB列に返す関数があったら教えてください。A列の最大値と二番目に大きい数字の時はBにその60%を返し、その他は50%を返すというものです。 最終的に5列まで数字が入ると上記のような結果になりますが、その途中例えば3列目までの時はA2が二番目に大きい数になるのでB2は180になります。 初心者にもわかりやすくご説明いただくと幸いです。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは! 色々方法はあるかと思いますが・・・ 一例です。 A1からデータが入っていると仮定して、A100セルまで対応できるようにしてみました。 B1セルに =IF(A1="","",IF(RANK(A1,$A$1:$A$100)<=2,A1*0.6,A1*0.5)) としてオートフィルで下へコピーしてみてください。 尚、数式の範囲指定の領域はデータ量によってアレンジしてください。 以上、参考になれば幸いです。m(__)m
その他の回答 (2)
- MackyNo1
- ベストアンサー率53% (1521/2850)
回答No.2
以下のような数式をB1セルに入力し下方向にオートフィル(コピー)します。 =IF(A1="","",IF(RANK(A1,A:A)<=2,A1*0.6,A1*0.5))
質問者
お礼
早々のご回答ありがとうございます。 早速使わせていただきました。
- okormazd
- ベストアンサー率50% (1224/2412)
回答No.1
たとえばBに下式 =IF(OR(RANK(A1,$A$1:$A$5,0)=1,RANK(A1,$A$1:$A$5,0)=2),A1*0.6,A1*0.5)
質問者
お礼
早々のご回答ありがとうございます。 早速使わせていただきました。
お礼
早々のご回答ありがとうございます。 早速使わせていただきました。