Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 8.1 Pro : Excel 2010)
ソート対象の数値の桁数について
投稿日時: 19/03/30 14:50:08
投稿者: tako552101

ver2010(2003対応)、win8.1です。よろしくお願いします。
 
ソート対象の数値の桁数についてですが、数値として認識されるのは15桁までとあり、対象セルを文字列として扱えば文字列としてセルの最大値まで良いとされています。
 
30桁の数字をソートの対称とするために上記のルールがあったため、10桁ずつ3列作業列を作成して比較していましたが、完全に桁数を揃えれば1列で済むのではと考えています。
 
この数値の羅列セルですが単純にセル書式を文字列とすればそれで最大値まで良しとされ、ソート対象となるのか教えていただきたくお願い申し上げます。

回答
投稿日時: 19/03/30 17:58:09
投稿者: WinArrow
投稿者のウェブサイトに移動

文字列でも、先頭に「0」を埋めて桁合わせすれば、数値と同じことになると思います。
 
 

 
=RIGHT(REPT("0",30)&A1,30)

投稿日時: 19/04/01 14:50:59
投稿者: tako552101

WinArrow さん、いつもありがとうございます。
 
並び替えはこれで良さそうですね。ありがとうございます。
 
しかし、このセルを対象にRANK関数を使っていて、文字列はアウトになります。
作業列を増やさずこのセルでを対象に順位をつけることはできるでしょうか?
 
よろしくお願いします。

回答
投稿日時: 19/04/01 15:15:45
投稿者: WinArrow
投稿者のウェブサイトに移動

>このセルを対象にRANK関数を使っていて
 
なにも文字列のセルを使わなくても
元のセルで対応できているのであるならば、元のセルを使えばよいでしょう。

回答
投稿日時: 19/04/01 16:38:17
投稿者: WinArrow
投稿者のウェブサイトに移動

>このセルを対象にRANK関数を使っていて、文字列はアウトになります。
 
もともと、30桁の数字でRANKを求めること自体、無理な相談では?

回答
投稿日時: 19/04/01 18:33:07
投稿者: んなっと

並べ替えできたのなら、その並べ替え後の列で順位をつけたらどうですか?
 
     A   B
 1 文字列 順位
 2 0008…   1
 3 0021…   2
 4 0021…   2
 5 0021…   2
 6 0153…   5
 7 0153…   5
 8 1098…   7
 9 4350…   8
10 4350…   8
11 4350…   8
12 9003…  11
13 9003…  11
14 9003…  11
15 9003…  11
 
B2
=IF(A1=A2,B1,ROW(A1))
下方向・↓

回答
投稿日時: 19/04/03 11:00:10
投稿者: Suzu

tako552101 さんの引用:
しかし、このセルを対象にRANK関数を使っていて、文字列はアウトになります。
作業列を増やさずこのセルでを対象に順位をつけることはできるでしょうか?

 
数値の場合には、内部処理が、有効桁 15桁の浮動小数点にて処理される以上、
15桁以上の数値は内部処理できないので無理と思いますが。

投稿日時: 19/06/04 03:53:36
投稿者: tako552101

皆さんありがとうございました。
閉じます。