エクセルで順位を出します。
範囲を複数のシートにまたがって指定したいのですが、
うまくいきません。よい計算式があれば教えてください。

sheet1のA列、sheet2のA列、sheet3のA列の総合の順位をださなければなりません。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

シート名が変更されているとは思いませんでした。



RANK(AP9,1-1:1-3!Ap:Ap) を
RANK(AP9,'1-1:1-3'!Ap:Ap) としてみて下さい。多分できる?
できなければSheet1とかに戻したらどうでしょう。デハ
    • good
    • 0
この回答へのお礼

もう、ホントに何度もすみません。
実はシートを別に作って計算してしまったのですが、
出来ないの、悔しいのでまた明日やってみます。
ホントにホントにありがとうございました。
成功したかどうかは報告できませんが、とりあえず締め切ります。

お礼日時:2001/07/11 23:48

解決していないんですよね。


RANK(AP9,"Sheet1:Sheet3!Ap:Ap") ではなくて、
RANK(AP9,Sheet1:Sheet3!Ap:Ap) してみてください。
    • good
    • 0
この回答へのお礼

一日中付き合ってもらってすみません。
シートの名前を変えていたのに気付きませんでした。
きっとその辺に原因があるような・・・
シートの名前は1-1、1-2、1-3です。
RANK(AP9,1-1:1-3!Ap:Ap)でも出来ませんでした。
もう、あきらめた方がいいのかな。

お礼日時:2001/07/11 16:14

sheet1のA列、sheet2のA列、sheet3のA列にデータがあり、各B列に算式を書くとします。


B1 = Rank(A1,Sheet1:Sheet3!A:A)
で出ると思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
RANK(AP9,"Sheet1:Sheet3!Ap:Ap")
で、やりましたが、やはり、エラーが出てしまいました。

お礼日時:2001/07/11 14:53

複数の範囲(シート)にまたがる場合は、rank関数は使えません。




新しいシートを作成することが許されるならば
以下の方法が手っ取り早いと思います。

(1)
sheet4を作成し、
sheet4のA列には sheet1のA列
sheet4のB列には sheet2のA列
sheet4のC列には sheet3のA列
をリンクさせておきます。


(2)
好きなシートの任意のセルに、
=RANK('sheet4'!A1,'sheet4'!A:C,0)

という式を入力します。


そうするとA1 (つまり、sheet1のA1)が
sheet1~3のA列の中で何番目に大きい数字かが算出されます。


(3)
最後に、sheet4を選択して、
メニューから「書式」→「シート」→「表示しない」とすれば
sheet4は見えなくなり、改ざんも防げます。




_
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
やはりシートを別にするしか手がないですかね。
そろそろあきらめます。ありがとうございました。

お礼日時:2001/07/11 16:07

sheet1のA列、sheet2のA列、sheet3のA列の範囲であれば


'Sheet1:Sheet3!'A:A
でいかがでしょうか?
    • good
    • 1
この回答へのお礼

失敗しました。もう少し詳しくお聞きしてもよろしいでしょうか。
RANK(AP9,"'sheet1:sheet4!'ap:ap)
でやりました。
どこに問題があるんでしょうか(TT)

お礼日時:2001/07/11 12:26

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcel でシート間の重複データ(Sheet1のA=Sheet2のA かつ Sheet1のB=Sheet2のB)

Excel2000です。

Sheet1のA列・B列・C列・・・にデータが入っています。
Sheet2のA列・B列・C列・・・にデータが入っています。

Sheet1のA列とSheet2のA列は、似たようなデータが入っています。
Sheet1のB列とSheet2のB列も、同様です。
C列以降のデータは、シート間で全然関係ありません。

Sheet1の行データ(A列・B列)が、Sheet2(A列・B列)にも存在しているかどうか、
を知るには、どうすればよいですか。
C列以降の列のデータは、比較する際に使いません。

つまり、
Sheet1のA = Sheet2のA
かつ
Sheet1のB = Sheet2のB
であるような行を知りたいのですが、

どうすればよいのでしょうか。

Aベストアンサー

Sheet1、Sheet2 ともに空いている列に =A1&B1 のような連結データを作り、Matchなどで比較するとか、、、

Sheet1 の E1 =A1&B1
Sheet2 の E1 =A1&B1
Sheet1 の F1 =MATCH(E1,Sheet2!E:E,0)

QエクセルでB列の数値がA列(A1:A10)の範囲に存在するかどうかを知りたい

こんばんは。
エクセルでこのようなことができるのかどうか分からないので、教えてください。

B列の数値がA列(A1:A10)の範囲に含まれる数値なら○、含まれない数値なら×と、C列に表示したいのですが、エクセルでそのようなことはできるのでしょうか。
できるのであれば方法を教えていただけますでしょうか。
よろしくお願いいたします。

<<最終的な結果は以下のように表示したいです>>

  A B C

1 12 19 ○

2 15 20 ○

3 19 28 ○

4 20 30 ×

5 23 34 ○

6 28 35 ×

7 32 38 ×

8 34 39 ○

9 39

10 40

Aベストアンサー

セル C1 に式 =IF(COUNTIF(A:A,B1),"○","×") を入力して、此れを下方にズズーッと複写

Q=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

いつもお世話になってます。
以下の関数式について、お時間がありましたらどうぞご教示ください。

=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE))

「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」

純粋になんでこのような構文になるのかが解りません。

1.ISNAってそもそもなんでしょう?
2.同じ式を繰り返すのはなぜ?
(模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。)

・参考となる他所のページがあれば教えて下さい。
・素人です。お手柔らかにお願いします。

(エクセル2003)

Aベストアンサー

1.ISNAってそもそもなんでしょう?
ISで始まる情報関数の一つで、#N/A!エラーのみを判定する関数
結果はTRUE(真),FALSE(偽)のいずれかになります。
エラー判定のIS関数には他に
ISERR:#N/A!を除くすべてのエラーを判定する関数
ISERROR:すべてのエラーを判定する関数
があります。

2.同じ式を繰り返すのはなぜ?
ISNAの判定する値がセルでなく数式の結果だからです。
A2=VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)
なら
A3=IF(ISNA(A2),"",A2)
ということになります。A2のように計算の為のセルを省略する為に
=IF(ISNA(数式),"",数式)のように同じ数式を2回繰り返しになってます。

QエクセルのSheet1のA1:D5の範囲をSheet2のA1:D5へ参照したいのですが、何か方法はあ

エクセルのSheet1のA1:D5の範囲をSheet2のA1:D5へ参照したいのですが、何か方法はありますでしょうか?

Aベストアンサー

#5です。間違えました。

正「Sheet2のB2に以下を貼り付けて」
誤「Sheet2のA3に以下を貼り付けて」

QExcel2013 VBA A列とB列の文字をA列とB列とC列に移動させる方法

A列とB列に文字が入っているのですが、下記のようにA列とB列とC列に文字を移動させたいです。
(A列の数字は必ず奇数のA列に入っています。)
VBAのコードを教えて下さい。

例えば
A1 1  B1 cat
A2 空白 B2 猫
A3 空白 B3 dog
A4 空白 B4 犬
A5 2  B5 whale
A6 空白 B6 クジラ
A7 3  B7 rabbit
A8 空白 B8 ウサギ

とデータがある場合

A1 1  B1 cat  C1 猫
A2 空白 B2 dog  C2 犬
A3 2  B3 whale  C3 クジラ
A4 3  B4 rabbit C4 ウサギ

としたいです。

実際、データは、A5196まであります。

Aベストアンサー

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
Application.ScreenUpdating = True
MsgBox "完了"
End Sub

少しは短縮できると思います。m(_ _)m

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeB...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報