エクセルマニア

EXCEL rankの質問と相談

TOP > 相談と回答 > 「EXCEL rank」について
VLOOKUP ピボットテーブル グラフ EXCEL 書式設定 条件付き書式 マクロ
VBA For Do Or If With

「EXCEL rank」での検索結果 : 10件見つかりました。(ページ1/1)

EXCEL rankの検索結果

Excel2010を利用しています。 セルE15~セルE32の数字のランク(順位)を、セルQ15~セル32に表示したいの...

2016/12/11 21:01 Yahoo知恵袋   閉じる

相談 Excel2010を利用しています。
セルE15~セルE32の数字のランク(順位)を、セルQ15~セル32に表示したいのですが、 With Worksheets("A") For b = 15 To 32 Cells(b, 17).Value = Application.WorksheetFunction.Rank(.Cells(b, 9).Value, .Range("E15:E32"), 0) Next End With アプリケーションの定義、または、オブジェクトの定義エラーとなります。
このコードは不完全な部分を、お手数ですが、ご教示いただけないでしょうか?

Cellsで列を固定して行を変数で書く場合はCells(b, "E")という書き方も出来ますし、Range("E" & b)という書き方も出来ます。Cells(b, 5)と書いてしまうとぱっと見でどの列かが判りづらく、今回のようなエラーが発生する原因にもなります。 また、WorksheetFunction.Rank()は第一引数の数値が第二引数のセル範囲に見つからない場合はVBエラーが発生しますが、Application.Rank()であればセル範囲に見つからなかったときにもVBエラーは発生せずにVarianto型のError値を返します。 なので、下記のようにすると良いでしょう。 Dim b As Long, rnk As Variant With Worksheets("A") For b = 15 To 32 rnk = Application.Rank(.Cells(b, "E").Value, .Range("E15:E32"), 0) If IsError(rnk) Then .Range("Q" & b).Value = "" Else .Range("Q" & b).Value = rnk End If Next b End With

C# フォームアプリでint(24個)にそれぞれ格納してある整数を順位付けしたいのですが(ExcelのRANKのように)...

2016/05/14 13:58 Yahoo知恵袋   閉じる

相談 C# フォームアプリでint(24個)にそれぞれ格納してある整数を順位付けしたいのですが(ExcelのRANKのように)どうすれば出来ますか? 体育祭得点計算プログラムを作っています。

考え方だけ、一例として。 1. 得点ごとの出現頻度を数え上げる。 {得点の型, int} の連想記憶(Dictionary)を使えばいいと思います。 2. 求めた連想記憶をイテレートし、順位を決める。 int rank = 1; から始め、イテレート中注目要素の順位にあてた後、 rank に注目要素の出現頻度を加算する。 (同点得点が3人いれば、次点の得点の順位は +3位)

EXCELの検索関数で、LOOKUPやMATCHを使うと 同一の検査値が、検査範囲内にランダムに複数個存在する(生徒名簿...

2016/03/13 19:13 Yahoo知恵袋   閉じる

相談 EXCELの検索関数で、LOOKUPやMATCHを使うと 同一の検査値が、検査範囲内にランダムに複数個存在する(生徒名簿上の得点など)場合、 最初の1個しか検出できないのですが、 ① それらすべての位置を検索できる方法か関数があるようでしたら教えていただけませんか? テキストやそのあたりの安物参考書には、通り一編の解説しか出て来ませんので 今はやむを得ず、RANK関数で順位表示させておき、 隣の列で同数値を見つけたら順次少数点を付加させてから、その列を再検索させて見たり、 元データーそのものに1/100000少数点を加える(例) IF(検索値="",B20+0.00001,IF(ISERR(SEARCH(検索値,L21))=TRUE,B20+0.00001,INT(B20+1))) のように加工しておいて、検索させると言った幼稚で面倒な手間をかけています。
② 又、検査値が存在しない時のエラー値を回避しようと、ERROR,TYPEで逃げようとすると、逆に正の場合がエラーにかかってしまいます。
このような場合の回避策は、どのようにしたら良いのでしょうか?

色々な方法があると思いますが、一例です。 図の例で回答させて頂きます。1000行のデータとします。 D1に検索したい得点を入力するとします。 D2 =INDEX(A:A,SMALL(INDEX((($B$2:$B$1000<>$D$1))*10000+ROW($A$2:$A$1000),),ROW(A1))) 下へコピー 対象なしの部分に0が表示されてしまうので、書式を ユーザー定義で 0;; として下さい。

Excelエクセルのrank関数についての質問 A3~A12に人の名前。それの対応する点数はG3~G12あります。 こ...

2015/12/08 23:45 Yahoo知恵袋   閉じる

相談 Excelエクセルのrank関数についての質問 A3~A12に人の名前。
それの対応する点数はG3~G12あります。
これを点数が大きい順に並べたものを人の名前はP2~Z2,点数をP3~Z3に記入したいのですが どのように数式を書けばいいのでしょうか?

P3=LARGE($B$3:$B$12,COLUMN(A1)) ★右にコピー P2=INDEX($A:$A,SMALL(INDEX(($B$3:$B$12<>P3)*100+ROW($B$3:$B$12),),COUNTIF($P3:P3,P3))) ★右にコピー

EXCEL VBAでWebクエリを使用してデータ取得しようとしているのですが、1ページ目は問題なく取れますが、2ページ目...

2015/03/09 17:37 Yahoo知恵袋   閉じる

相談 EXCEL VBAでWebクエリを使用してデータ取得しようとしているのですが、1ページ目は問題なく取れますが、2ページ目がうまく表示されず1004エラーになります。
おそらくプロシージャ部分のリンクの部分がおかしいのではないかと思うのですが、どう調整してもエラーになってしまいます。
どなたかご教授お願い致します。
Sub GetData() Dim i As Integer Application.DisplayAlerts = False Application.ScreenUpdating = False Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "200over" For i = 1 To 12 Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "movie" & i Call GQuery(i) ActiveSheet.Columns(6).Delete Range(Cells(1, 1), ActiveSheet.Cells.SpecialCells(xlLastCell)).SpecialCells(xlCellTypeBlanks).Delete ActiveSheet.Rows(1).Delete ActiveSheet.Range("A1").CurrentRegion.Copy Worksheets("200over").Range("$A$65536").End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues ActiveSheet.Delete Next Application.CutCopyMode = False Worksheets("200over").Select ActiveSheet.Range("A1").Value = "No" ActiveSheet.Range("B1").Value = "邦題(製作年)" ActiveSheet.Range("C1").Value = "平均" ActiveSheet.Range("D1").Value = "Review数" ActiveSheet.Range("E1").Value = "最終投稿" Columns("E:E").Select Selection.NumberFormatLocal = "yyyy/m/d" ActiveSheet.Columns("A:E").EntireColumn.AutoFit ActiveSheet.Range("A1").Select Selection.AutoFilter Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub Sub GQuery(intIndex As Integer) Dim strURL As String strURL = "http://www.jtnews.jp/cgi-bin/revrank.cgi?SORT_KBN=0&RANK_KIND=1&GENRE_KBN=0&COUNT_KBN=0&START_YEAR=0&END_YEAR=0&MIN_COUNT=200&MAX_COUNT=0&MIN_POINT=0&MAX_POINT=0&KBN=0&YEAR=0&PAGE_NO="& intIndex With ActiveSheet.QueryTables.Add(Connection:= _ "URL;" & strURL, Destination:=Range("A1")) .AdjustColumnWidth = True .BackgroundQuery = False .WebSelectionType = xlSpecifiedTables .WebFormatting = xlWebFormattingNone .WebTables = "6" .Refresh End With End Sub

こんにちは。 早すぎらしいです。 refreshを実行して、データを取得してから、待ったなしで、新しいクエリーを実行しようとしているために、 サーバーのほうが追いついていないです。 1) 5秒程度のwaitを、クエリーの処理の近くに設置しただけで、問題なく読み込みしました。 パソコンの性能もあるのですが、サーバーの対応能力がいまいちの場合、エクセルのwebクエリーは余裕の処理ができるようにしてください

excel2010のVBAでのRANKについて B列に会社名、C列に数値があります。 A列に順位を表示させます。 B、...

2013/12/03 13:36 Yahoo知恵袋   閉じる

相談 excel2010のVBAでのRANKについて B列に会社名、C列に数値があります。
A列に順位を表示させます。
B、C列のセルが一定ではない為、順位を表示させる場合、 B、C列のセルに入力されていない個所まで、表示されてしまいます。
仮にB、C列の番号が50でしたら、下記のコードで問題ないのですが、 B、C列の番号が35でしたら、A36からA50まで順位が表示されてしまいますので、 セルの番号が一定でなくても、セルに入力されていないところは表示されないようにいたしたく思いますが どうすればよいでしょうか? ご教授下さい Dim rng As Range For Each rng In Range("A1:A50") rng.Value = Application.Rank(rng.Offset(, 2).Value, Columns(3)) Next rng

これでどうでしょうか。お試しください。 Dim rng As Range For Each rng In Range("A1:A50") If rng.Offset(, 2) <> "" Then rng.Value = Application.Rank(rng.Offset(, 2).Value, Columns(3)) End If Next rng

VBAでのrank関数について excel2010を使っております B列に会社名、C列に数値があります A列には順位を...

2013/12/03 09:55 Yahoo知恵袋   閉じる

相談 VBAでのrank関数について excel2010を使っております B列に会社名、C列に数値があります A列には順位を入れたく思います 関数でしたら、A1に=RANK($C1:$C50,B:C)と入れれば求める事が出来ますが、 VBAで行う場合どのようにすればよいでしょうか? また関数ではC50としていますが、 B列とC列のセル番号が一定ではありません。
ご教授下さい

考えやすいのは、同じことをVBAで行う事。 すなわち、A列に式をセットして、式を消す方法。 With Range("A1:A50") .Formula = "=RANK(C1,C:C)" .Value = .Value End With もう一つは、ワークシート関数をVBAから呼び出す方法。 Dim rng As Range For Each rng In Range("A1:A50") rng.Value = Application.Rank(rng.Offset(, 2).Value, Columns(3)) Next rng

Excel2010VBAでクイズを作成したいと思っています。 Excel2010VBAでクイズを作成したいと思っています...

2013/02/21 10:20 Yahoo知恵袋   閉じる

相談 Excel2010VBAでクイズを作成したいと思っています。
Excel2010VBAでクイズを作成したいと思っています。
セルA1に乱数・B1に乱数をRANK関数で取る・C1に問題文・D1~F1に答えを入力した行が40行あります。
問題文を乱数を使いランダムでユーザーフォームに表示させ、答えもランダムに表示させるにはどのようなコードをかけばいいですか? よろしくお願いします。

A列やB列は何に使うんでしょう? 乱数で行を求めればCやD~F列の値があれば 十分な気もしちゃうのですが。。。 あとユーザーフォームにはどのコントロールで どのように表示したいのか・・・?

VBA教えてください。 EXCElで、1行目に金額、2行目に数量、3行目に予算、4行目に順位の行があり、AからD列まであ...

2011/01/20 11:48 Yahoo知恵袋   閉じる

相談 VBA教えてください。
EXCElで、1行目に金額、2行目に数量、3行目に予算、4行目に順位の行があり、AからD列まであるとします。
1~3行目まで数字がうまっています。
4行目に1行目の金額に対する順位を横にマクロ(VBA)で計算したいのです。
A4=rank(A1,A1;D1,0) B4=rank(B1,A1;D1,0) ↓ D4=rank(D1,A1;D1,0) と言う風に式をいれ金額(1行目)の順位を求めたいのです。
ちなみに、列はA~Dと書きましたが、変動するので、Dまでとは限りません。
説明がへたですみません。
よろしくお願い致します。

こんにちは。 よろしければ下記コードをどうぞ^^ 2パターン用意したのでお好みで。 '---------- ' 4行目にRANK式を入力 '---------- Sub ランク式入力() Dim 最終列 As Long 最終列 = Cells(1, Columns.Count).End(xlToLeft).Column Range(Cells(4, 1), Cells(4, 最終列)).Formula = "=RANK(R[-3]C,R[-3])" End Sub '---------- ' 4行目にRANK計算後の値を入力 '---------- Sub ランク値入力() Dim 最終列 As Long, i As Long 最終列 = Cells(1, Columns.Count).End(xlToLeft).Column For i = 1 To 最終列 Cells(4, i) = WorksheetFunction.Rank(Cells(1, i), Rows(1)) Next End Sub ●最終列取得 http://www.niji.or.jp/home/toru/notes/8.html ●For~Nextステートメント http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_for_next.html ●WorksheetFunction http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_ws_kansu.html

Excelでは順位を求めるのにRank関数を使いますが、Accessで順位を求める方法はありますか。...

2008/05/24 14:11 Yahoo知恵袋   閉じる

相談 Excelでは順位を求めるのにRank関数を使いますが、Accessで順位を求める方法はありますか。

Rank関数のように簡素な関数は単純な順位のみしか計測できず、 Accessのような大量データを取り扱うデータベースとしてはグループ集計の利用が高いことから あのような関数を実装すると致命的なスピード不足に陥る事になる。 試しに Excel2007で150万行くらいの数値レコードをランダムに並べて作り Rank関数を実装してみれば一瞬でフリーズするか 1時間は返って来ずExcelが使用不可。 Accessではサブクエリをリレーションし条件付の Countで計測するか Dcountを駆使しながら行う。