• ベストアンサー

スプレッドシートsmall関数パラメータの許容範囲

数字の小さいほうからの並び替えをしていて行き詰っています。 A列にa1からa1000まで適当な数字を並べ(無記載のセルはあっても同じ数字はない)、B列1行に =small($a$1:$a$1000,row(a1))と関数を入れドラッグすると231行目から”関数smallのパラメータ2の値231は許容範囲を超えています”と以降エラー表示になります。 ちなみに1000の値を500にすると115、100にすると30でエラーになります。 どのようにしたらこの問題が解決できるか悩んでいます。

質問者が選んだベストアンサー

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.2

Excelのバージョンは? バージョンによって計算時に使用できるメモリの量が異なるようです。 質問を投稿するときはバージョンも提示された方が良いでしょう。 >B列1行に =small($a$1:$a$1000,row(a1))と関数を入れドラッグすると231行目から”関数smallのパラメータ2の値231は許容範囲を超えています”と以降エラー表示になります。 「ドラッグする」とは「オートフィルで下へコピーする」ことですか? Excel 2002と2013で検証しましたが再現できませんでした。(B1000までコピーできました) Excelのプログラムの一部が損傷しているかも知れませんので修復または再インストールしてみると良いでしょう。

1248hk
質問者

お礼

スプレッドシートですがExcel 2010でも結果は同じでした。 ただB1000 までコピーできたということで、検証ありがとうございました。 途中経過がいろいろありますので、プログラムミスがないか、再検討を行います(再インストールを含めて)。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Prome_Lin
  • ベストアンサー率42% (201/470)
回答No.3

=Small(a1:a1000, 1) この関数は、下にコピーするわけではないので、「$」を付ける意味がありません。 「row(a1)」の意味が分かりません。 セル「A1」には何が入っているのですか? もし、「5」が入っていたとすると、「行5」と言っているのであって、何か数値が入るわけではありません。 今、「A1」から「A1000」の間で、一番小さい値を求めたいなら、単に「1」とすればいいのです。

1248hk
質問者

補足

A列には同じでない適当な数字が無記載も含め1,000個B列はそれを小さい数字から順次埋めていくので、1行に=small($a$1:$a$1000,row(a1))としてオートフィルをすることで2行目は2番目に小さい数、3行目は3番目に小さい数を入れるためです。「$}をつけないと選択範囲が行ごとに変わってしまいます。row(a1)は1番小さい、2番目に小さい・・・を指定するためrow関数を使っています。

全文を見る
すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率65% (1645/2495)
回答No.1

1000を10000にしてみてはいかがですか。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ExcelのSMALL関数について

    ExcelのB列(B2:B50)にフラグ「0」または「1」が入力されています。 フラグ「0」が入力されている行番号を関数を使用して取得したいと思っています。 B列のフラグは順次更新されており、フラグ「0」の個数は複数あります。 下記の関数式(以下多めにオートフィル)で上記のことができるようになったのですが、 =IF(COUNTIF(B$2:B$50,0)<ROW(A1),"",SMALL(INDEX((B$2:B$50<>0)*10^5+ROW(B$2:B$50),),ROW(A1))) SMALL関数式の部分↓↓の意味がよくわかりません。 SMALL(INDEX((B$2:B$50<>0)*10^5+ROW(B$2:B$50),),ROW(A1)) どなたかご教授いただけないでしょうか。

  • GooglApps スプレッドシートの関数について

    GooglApps スプレッドシートの関数について質問があります。 AワークブックのスプレッドシートのA1セルの値を、 BワークブックのスプレッドシートのA行を検索して、 AワークブックのスプレッドシートのA1セルと同一の値の行のB列の値を、 AワークブックのスプレッドシートのB1セルへセットしたいのですが、どのようにすれば良いのでしょうか? ご教示、お願いします。

  • 【excel】row関数を結合セルに使う方法

    お世話になります。 row関数を用いてB列のような数字の重ならない階級を作成したいと考えております。これをさらに2つずつの結合セルに適応させたいのですが、A列のように結合セルの一番上の列の数字をrow関数が参照してしまうので値が飛んでしまいます。 B1=(ROW())*10&"-"&(ROW())*10+9 という関数で作成したのですが、どうにか一括してB列みたいなものは作れないでしょうか。もし可能でしたら2つ以上のセルにも応用できる方法をご教示いただけますでしょうか。 パソコン、excelにお詳しい方よろしくお願いいたします。

  • Excelの関数を教えてください。

    Excelの関数で例えば シートAのB行の中の値とシートBのセルA1の値、シートAのC行の中の値とシートBのセルB1の値が一致した行のF列の値を返す関数を考えているのですが、いろいろ試してもエラーになってしまいます。(B列とC列の一致する行は1つしかありません) これができないと家に帰れません;; どなたか、教えてください! よろしくお願いします。

  • SMALL関数について

    SMALL関数についてですが、0以下の値を除く順位を出したいのですがうまくできません。 以下の表だと=SMALL(A1:A6,3)とすると0が返ってきます。 0以下を除いた3番目のデータ「3」が返ってくるようにするにはどうしたらいいのでしょうか? A1 1 A2 2 A3 3 A4 -1 A5 0 A6 0

  • エクセルの関数について。

    エクセルの関数。 Sheet1の作業列1のA2セルに =IF(COUNTA(Sheet2!2:2)=0,"",IF(Sheet2!A2="",A1,Sheet2!A2)) →数式1とする 作業列2のB2セルに =IF(A2=$D$2,ROW(),"") →数式2とする という数式を入れA2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピーしておきます。 (Sheet2の行数以上コピーしておく) そしてE2セルに =IF(COUNT($B:$B)<ROW(A1),"",INDEX(Sheet2!B:B,SMALL($B:$B,ROW(A1)))&"") →数式3とする という数式を入れオートフィルで列方向・行方向にコピーする。 教えて頂きたいことは、数式1、数式2、数式3が何を意味しているのか。 と、この数式を使って、表を作成したのですが、ある特定の数字(コード、D2セルに入力)を入力しても反応してくれない。 (E2~H2まで、空白セルの状態になります。) (sheet2は約1200行あります。) 教えて頂けないでしょうか?

  • INDEX関数を使用した関数の意味を教えてください。

    INDEX(sheet2!C:C,SMALL(INDEX((sheet2!$B$1:$B$100<>$B$18)*10^4+ROW($1:$100),),ROW(A1)))&"" sheet2にある表のB列に検索時に使用する文字列があり、sheet1のB18にその検索したい文字列を入力すると、一致したB列と同じ行のC列のデータを抽出する式です。 表のデータは今後も増加しますが、どの程度増加するは不明です。 INDEX関数やSMALL関数など一つ一つの関数の意味はわかっているつもりですが、なぜ上記のセルが選択されているのかわかりません。 特にSMALLの後の式がわかりません。 エクセル関数にはあまり詳しくないので、この式の意味をできれば詳しく教えていただけないでしょうか? (式の意味は人から聞いたものですが、違っていたらすいません)

  • EXCELで範囲内にある値を検索してA列の値を返す

    タイトル通りなのですが、OSはXPでEXCEL2000を使用しています。 シート内ですが 1.A列には文字列が入っています。200行まで空白は無いです。 1.B列からL列の200行までに数字がランダムに入っています。 2.数字は1~500までです。 3.行によってはL列まですべてのセルに値が入ってません。  数字の入っていないセルは空白です。 4.数字の重複はありません。 やりたいことは 別のシートのA列に1~500までの数字を入れ、B列に上記範囲の中からその数字を検索して、その行のA列の値を返したいのですが、出来ません。 どの関数を組み合わせれば出来るのでしょうか? vlookupの検索範囲は1列だけなのでダメでした。 よろしくお願いします。

  • 参照した数値を関数に代入し計算する方法

    手動で数字を入力するセル(C1)に入れた数字と同じ数字を 規則的に数字が書いてある(例;1~100)A列から探し A行の隣に書いてあるB行の数字(A1だったらB1)を 参照し関数の入っているセル(E1)にBの値を入れてExcelで 計算するような方法(マクロになるようなら貼り付ければできる形)を 教えて下さい(B1の値が直接使えないならD1というA行の隣から探した Bの数字を表示するセルを作る形でも可) 例えばC1に10といれA行から10と書かれているA6のセルを検索し その隣のB6のセルから20という数値を参照し、E1に書いてある 例えば=IF(X(B6)<45,Y(例;F1)*1.5,IF(45<X(B6),Y(例;F1)*2)) のような関数のXに代入する感じです(Y(F1)の数字は適当なセルの値) 上手く説明できていないかもしれませんが宜しくお願いいたします

  • INDEX関数SMALL関数を使って空白行を詰める

    シート1にINDEX関数SMALL関数を使って空白行を詰める表を作成したのですが詰めた表をシート2に表示することはできないのでしょうか。  =IF(COUNTIF($A4:$A4,0)=0,MAX(D$3:$D3)+1,"")  =IFERROR(INDEX(A:A,MATCH(ROW()-3,$D:$D, )),"")この表をシート2に表示する方法

このQ&Aのポイント
  • ネットワークアダプターのWi-Fi項目をアンインストールする方法を試しましたが、再インストールされないためパソコンを初期化しました。しかし、それでもインターネットに接続できない状況です。
  • 問題の解決方法はありますか?古い機種ですが、アドバイスをお願いします。
  • 富士通FMVのLIFEBOOK AH55/Gを使用しています。
回答を見る

専門家に質問してみよう