• ベストアンサー

Excel数値16桁以上の関数での並び替え

mt2015の回答

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.5

Excelでは15桁までの数値しか扱えません。 ちょっと不恰好ですが、37桁の数値を10・10・10・7桁に分け、それぞれの順位を千の位・百の位・十の位・一の位とした並び替え用の値を作って並び替えてみました。 G:J列が別けた値、K列が並び替え用の値、L列が順位、N列が順位をもとに並び替えた結果です。 F2:F6に37桁の数値の文字列が入っているものとします。 G2セルに =LEFT(F2,10)*1 H2セルに =MID(F2,11,10)*1 I2セルに =MID(F2,21,10)*1 J2セルに =RANK(G2,G$2:G$6,1)*1000+RANK(H2,H$2:H$6,1)*100+RANK(I2,I$2:I$6,1)*10+RANK(J2,J$2:J$6,1) L2セルに =RANK(K2,K$2:K$6,1) N2セルに =OFFSET(F$1,MATCH(ROW()-1,L$2:L$6,0),0) G2:N2セルを6行目までコピーしてください。

Uyrjyyf6sd
質問者

お礼

回答No3,8を参考として解決できました。 しかしながら、新しい発見でした。これは文字列状態(00001234)でも可能なのでしょうか。試してみたいと思います。 ありがとうございました。

関連するQ&A

  • EXCELで 一桁の数値を二桁に

    教えてください。 エクセルで、入っているデータを編集しているのですが A列には、一桁の数値が B列には、1桁から2桁の数値が C列には、1桁から2桁の数値が D列には、文字データが入っています。 D列のデータに対する対応表を作るために このA~C列のデータを CONCATENATE関数を使って合体させたいのですが、 (合体させると、数値がダブらない為) B列とC列に入っている1桁の数値を 2桁に変換したいのですが、 何かよい方法はありませんでしょうか? 手打ちで変換するには、かなり多いデータなのです。 どなたか、助けてください。

  • 並び替えがしたいのですが。。。

    Excel2000を使用しています。 文字列として入力している地番を、数値の昇順に並び替えをしたいのです。どうしたらいいのでしょうか? 地番を文字列としているのは、一つのセルに地番を"-"で区切って入力しています。地番の入力例としては、1-1,10-1,20-1です。そのセルを数値として入力出来ればいいのですが、"1-1"を例にすると1月1日になってしまうので、文字列として入力しています。文字列のセルを昇順に並び替えをすると、1→10→100→2→20…となってしまいます。数値の昇順(1→2→10→20→100)にするには、どうしたらいいでしょうか? 関数を使って"-"の前と後で抜き取り、並び替えすることも考えたのですが、優先キーが3つまでなので困ってます。大字・小字・地番で並び替えしたいのです。 出来れば、件数が3000~5000件程ありますので、そのまま文字列セルの状態で昇順になると嬉しいです。 よろしくお願いします。

  • Excel関数で数値のみ取り出したい

    Excelの関数について教えてください。 A列には単位付の数値が入っています。数値の桁数は決まっていませんが、3桁区切り、小数も含まれて居ます。単位はkm2とか、m3、L、Kw、gとかの3文字以内です。 この列から、B列に「数値のみ取り出したい」場合の関数式を教えてください。

  • Excel関数で数値を0を含めた3桁で表したい場合

    Excelの表で例えばAの列に1から999までの番号があったとします。 B列に(001、002、003)というような具合に3桁で表示したい場合はどのような関数を使えばよいでしょうか?

  • 数値を4桁の文字列に戻す方法

    上限4桁の数値を、同じく4桁の文字列に戻すにはどうしたらよいでしょうか? ASC関数を使って「数値」を「文字列」にするのはできます。 しかし、例えば『1』にASC関数を使用すると、『0001』ではなく、文字列の『1』になります。 また、書式で『1』を『0001』に見せるのも不可です。『0000』~『9999』の4桁の文字列に打ちかえるには、どうしたらよいでしょうか?

  • Excel2002において、数式と数値を別に数えたいのですが。

    Excelで表を作っています。 表の最後の列にそれぞれ、その列の合計が入っていますが、基本的にそれは数式による計算結果です。 ですが、時々直接数値を入力したセルがあります。 1.数式による計算結果のセルが30個 2.そうでない数値のセルが10個 のとき、 1.30 2.10 というふうに数えたいのです。 できれば関数がいいのですが…(VBAは手に余るので) できるかできないかだけでもいいので、どうかお答えください。

  • エクセルの並び替えについての質問です。

    エクセルの並び替えですが、例えば列の並び替えで2列(仮にA列・B列)に数値は入れてあり、A列を基準に昇順する場合2003ではその並べ替えをしたい範囲を指定して、「データ」→「並べ替え」→範囲の先頭行をデータにチェックを入れて、最優先されるキーを列Aにして、昇順にチェックを入を入れれば、A列基準で並び替えが完了しましたが、2007ではではその並べ替えをしたい範囲を指定して、「並べ替え」→最優先されるキーを選択すると列A・列Bの選択ではなく、A・B列の1行目の数値の選択となり、それで並び替えると1行目はそのままで、2行目からの並び替えになってしまいます。また1行目を数値のない空欄セルにしておいて1行目から上記作業をすれば、優先されるキーは列A・列Bの選択肢が出ますが、もしその表が1行目が空欄で無い場合はどうするのでしょう?また、2003では並び替えの作業を『繰り返し』で別の表も同じく並び替えの作業が出来ますが、2007では上記の1行目空欄セルにしておいてから並び替えをして『繰り返し』の作業は出来ません。 どの様にすれば、『繰り返し』の作業も出来るのでしょうか?

  • エクセルのセルを整数化する方法

    宜しくお願いします。 エクセルで20列100行20シートほどのブック形式の表があります。 表内の数値を小数点1桁目で四捨五入をして整数化したいと思います。(表示形式で見た目上の整数化でなく、実際の数値として整数化したい。) 表内は複雑に計算式が入っていて、一部は他のブックからリンクが張ってあります。 また、1部のセルはパーセント(%)表示になっていて、そのセルに関しては何も変更をしないというのが条件です。 セルをひとつずつROUND関数などを使っての変換では気が遠くなります。 何か簡単に変換できる方法はないでしょうか。 期限が本日中で本当に困っています。

  • エクセル 数字並び替え

    エクセルの数字並び替えにて優先順位を2桁目にして 出力するにはどうしたらよいでしょうか? 1つのセルに数字が3桁があります。それが5行あります。 エクセルの並び替えを使用すると、1桁目を基準に下記のようになりますが ----- 211 ----- 305 ----- 311 ----- 454 ----- 502 ----- このようにではなく下記のように優先順位を2桁目以降にし 順番に並び替えをしたいです。 ----- 502 ----- 305 ----- 211 ----- 311 ----- 454 ----- 宜しくお願い致します。

  • 桁の違う数値での並び替え

    ある表の行の並び中を最終的に元の順番になおしたかったので、とりあえず1列挿入してその列のセルに数字を入れました(1,2,3,・・・10,11,12,・・・)。 いろいろ作業をして最終的に元の順番に直そうと挿入した列をキーにして並べ替えを行ったところ、 「1,10,100,1000,1001・・・」となってしまい元の順番に戻せません。割り振った番号を見ながら手動で直せばいいのかも知れませんが、行が3000近くあるのでかなりの手間です。 この状態から、最初の「1,2,3,・・・10,11,12,・・・」の順番に戻すよい方法はないでしょうか?