- ベストアンサー
excel rankで範囲を複数のシートから指定する?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2です。もしやって見られるなら、。関数式を入れる前に、前もって、メニューのツール-マクロ-VBEでVBE画面をだし、VBE画面のメニューの挿入-標準で出てくる画面に#2のコードを貼りつけて、シートに戻り、セルに=aa(A1,Sheet1!$A$1:$A$6,Sheet2!$A$3:$A$7) のように入れてください。式を複写するので、第2と第3引数番地には$をつけてください。順位を考えるデータの ある各シートの範囲です。第1引き数には$をつけません。 ご存知でしたら済みません。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17068)
=aa(A1,Sheet1!$A$1:$A$6,Sheet2!$A$3:$A$7) のように2シートに跨ってランクを計算するユーザー関数を作ってみました。A列全体では序列を見るのは不適当 (下行に異質データがあるとか)な場合を考えて。 ロジックは割合単純でした。 Function aa(a, b, c) Dim cl As Range r = 1 For Each cl In b If a < cl Then r = r + 1 End If Next For Each cl In c If a < cl Then r = r + 1 End If Next aa = r End Function (例データ) Sheet1のA1:A6に (A列) (B列) 2 10 3 8 4 7 54 1 2 10 34 3 B1セルに =aa(A1,Sheet1!$A$1:$A$6,Sheet2!$A$3:$A$7) といれB6まで複写。 Sheet2はA3:A7に (A列) (B列) 26 4 3 8 24 5 54 1 12 6 B3セルに =aa(A3,Sheet1!$A$1:$A$6,Sheet2!$A$3:$A$7) といれB7まで複写。 順位は、上記のB列それぞれの行に出ています。
お礼
回答ありがとうございます。 私にとってはけっこう難しそうですが、 頑張って理解してみます。 明日職場で試します。
- mshr1962
- ベストアンサー率39% (7418/18948)
連続したシート、連続した列なら =RANK(A1,Sheet1:Sheet2!A:A,0) のようにできます。
お礼
回答ありがとうございます。 明日職場でやってみます。 わりとシンプルな表なので、 この方法でいけそうな予感がします。
補足
関数が正しくありませんといわれてしまいました・・・。
関連するQ&A
- エクセルのrank、範囲を複数のシートから指定できますか?
エクセルで順位を出します。 範囲を複数のシートにまたがって指定したいのですが、 うまくいきません。よい計算式があれば教えてください。 sheet1のA列、sheet2のA列、sheet3のA列の総合の順位をださなければなりません。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel 複数範囲で順位付け
MS-Excelで、複数の範囲において、それぞれの値の順位を調べようと思い、AVERAGE関数やMAX関数などと同様に、RANK関数でも複数の範囲を指定してしようとしたのですが、範囲をカンマで区切るのはできないようです。 たとえば、 範囲:A1:A5,C1:C5 調べたい数値が入っているセル:A1 のときに、 RANK(A1,A1:A5,C1:C5) とすると、RANK関数の書式は、 RANK(数値,範囲,[順序]) なので、C1:C5が順序扱いとなり、エラーになってしまいます。 複数範囲に名前をつけて、範囲に名前を指定してみましたが、それでもエラーになりました。 どうすれば、複数の範囲において順位を調べられるのでしょうか? RANK関数にはこだわっていません。 マクロでも構いません。 よろしくお願いします。
- ベストアンサー
- 会計ソフト
- Rank付けについて
エクセルでRank付け(順位)を考えています。 Rank関数で処理しようと考えたのですが,A列のコード番号が一定ではないため、処理に困っています。場合によってはマクロも考えています. どなたかアドバイス頂けないでしょうか。 A列にコード番号,B列に数値,C列に順位を入れます. 例えば、A2~A4まで1、A5~A6まで2とあり,A2~A4とA5~A6にはそれぞれおなじ数値が入ります。A列コードは3行分だったり2行分だったりと不規則に下に続いていきます。ただし,まとまたコード番号で固まっています. そのA列の同じコード番号全てに対して、B列の値を元にC列に順位を入力したいのです. コード 数値 順位 1 10 3 1 14 1 1 12 2 2 10 2 2 40 1 5 18 3 5 12 2 5 10 1 5 20 4
- ベストアンサー
- その他(プログラミング・開発)
- エクセルのHLOOKUP関数の検索範囲指定で、複数のシートにわたる範囲
エクセルのHLOOKUP関数の検索範囲指定で、複数のシートにわたる範囲指定は出来ないのでしょうか。 例えば、シート1からシート5まであり、各シートのA1:D10を指定するとか。
- ベストアンサー
- その他MS Office製品
- エクセルVBAで指定範囲をしたい
今、シート上である文字列を検索してそれを別のシートに転記させる簡単なツールを作っています。 そこでシート丸ごと 検索するのは大変なので、行と列を指定範囲するように入力するようにしました。 例: [列]→ A [行]→ 10 入力した列の値を数値に変換したいのですが、どうすればよいのでしょうか? 例えば Aであれば1, Bであれば2・・・ Zであれば25 のようにしたいのです。
- ベストアンサー
- オフィス系ソフト
- 【エクセル】重複項目内でのみのrankは・・・
エクセルでのrank関数について教えてください! 下のような表になっています。 A B (理想の結果) 1 あ 30 2 2 あ 50 1 3 あ 10 3 4 い 60 1 5 い 15 2 6 う 38 1 とあります。ここで、単純にrank関数を使って順位を 示すのではなく、A列の「あ」の中での順位、 「い」の中での順位・・・といった結果にしたいのです。 重複データを抽出・・・といった関数の組立方が さっぱりわかりません。 手動でrank範囲を指定するのには膨大なデータで、 気が遠くなりました。 お手数ですがよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル複数シートから一定の範囲を1シートへVBA
エクセルのVBAで質問です。 A1~A3行までは、タイトル(3行が列タイトル) A4行以降から一定のデータが入っており、商品ごとにシートを分けています。 列BF4~BM81までのデータを自動でコピーし、全データシートも自動でできればと思っています。 BF4列には、日付が入っており、複数のシートからコピーされたものは、日付順にて並べたい。「全データシート」を自動で作成する方法は、ネットにて調べることができたのですが、一定の範囲内の複数シートを合算し、日付順に並べ替えて自動でコピーするというのが分かりません。 VBAも全くの初心者です。 詳しくお教えいただればと思います。 よろしくお願いします。
- 締切済み
- Visual Basic
- EXCELで指定した範囲の切り取り貼り付け
Excelで シート1のA1~E1000までデータがあります。 B列には0~1500の数値データがあり昇順で並んでいます。 このB列のデータの700~1000の数値データのA~E列全ての範囲を「切り取り」・シート2に「形式を指定して貼り付け」(値)という作業をマクロにてできませんか? 尚、1つセルが下がるごとに1数字があがるとは限りません。 大変困ってます。詳しい方ご教授ください。
- ベストアンサー
- オフィス系ソフト
- Large関数、複数範囲を指定できますか?
配信されたメルマガ内のURL「リンク1」と「リンク2」のクリック数の中からランキングをつけたいと思っています。(B列とE列) 範囲指定はひとつしかできないと思うので、列が連続していない場合は、どのようにすればよいでしょうか? また、ランキング結果は予め"Sheet2"にした順位表(A列の順位は手で入力しておきます)のB列に値(クリック数)が表示されるようにしたいです。値が同じ場合(E3とB6など)は上から順番に取得できればよいです。A列の順位は後で修正しますので。 そして同時に"Sheet1"A列の配信日を"Sheet2"C列に表示できれば尚良いのですが。 同時に複数の質問で申し訳ありません。 部分的な回答でも構いませんので、よろしくお願いします。 Excel2000です。 "Sheet1" A B C D E F G 1 配信日 リンク1 リンク2 2 クリック数 注文件数 金額 クリック数 注文件数 金額 3 0101 10 0 0 20 0 0 4 0115 15 0 0 15 0 0 5 0201 10 0 0 35 2 15000 6 0215 20 0 0 10 0 0 7 0301 30 1 5000 17 0 0 "Sheet2" A B C 1 順位 クリック数 配信日 2 1位 35 0201 3 2位 30 0301 4 3位 20 0101 5 4位 20 0215 6 5位 17 0301
- ベストアンサー
- オフィス系ソフト
- エクセル関数の範囲指定を、座標数値で指定したい
address関数とindirect関数で、行・列を数値で指定して、セルの値が求められますが、同じように行・列の数値を4つ使って範囲の指定をしたいのですが、どのような関数を使えばよいでしょうか? 具体的には、=MATCH(A1,範囲,1)の範囲を、2組の座標の数値で指定したいのです。
- ベストアンサー
- オフィス系ソフト
お礼
再度ありがとうございます。 いやいや、全く知りませんでした。 頑張りますo(^-^)o