アプリ版:「スタンプのみでお礼する」機能のリリースについて

A列 の 下6桁 を除く数字は、 必ず、 1 ~ 10 です。
その 「 A列を優先キー 」 にて、「 複数の各レコードごと 」 を、 希望順 に入れ替えたいんです。

たとえば 「 4****** だけのレコード全部 ( 連続してます ) 」 を 「 エリア1 」 と 表現させて頂ます。 
* 部分は、 必ず 6 桁 です。

左隅の数字 は 1 ~ 10 まで変動します。
このエリアの数は、 2 ~ 3 まで変動します。
このエリアの順序は、
  「 エリアの数が2 」 の場合は、2通り、 になります。
  「 エリアの数が3 」 の場合は、6通り、 になります。
  マクロも、同様に、それぞれ、2通り、6通り、が必要かと思っておりますが、
 私の頭が混乱してしまうので、まず下記例をどうかご教授下さいませ。

下記例の、 「 各エリア の 左隅の数字 」 を、それぞれ 「 1、2、3 」 に置換えたりすれば、なんとかなるのかなと勝手に思ったりしています。
------------------------------------------------  
下記例は、左隅の数字 4、 2、 10  の場合です ( 実行後が全部で5通りになります )。

実行前 ( エリア順が 4、2、10 です )
A列
4******


4******
2******


2******
10******

10******

↓↓↓
実行後1 ( エリア順を 10、4、2 にさせたい )
A列
10******

10******
4******


4******
2******


2******
-------
実行後2 ( エリア順を 10、2、4 にさせたい )
-------
実行後3 ( エリア順を 4、10、2 にさせたい )
-------
実行後4 ( エリア順を 2、10、4 にさせたい )
-------
実行後5 ( エリア順を 2、4、10 にさせたい )
-------
実行後6 ( エリア順を 4、2、10 にさせたい ) ← これは 実行前と同じエリア順。

A 回答 (1件)

あってるかどうかはわかりませんが



A列には、7桁か8桁の数字が入っている。
8桁の場合は、頭の2桁は、10になっている。
と条件を仮定させて頂きます。

エリアの順番は、別セルへ設定します。
D列には、1から10を入力しておきます。
E列へ、1から10までの並び替え順のエリアを設定します。

B列には、=INT(AXX/1000000)を入力し、頭の二桁を抽出します。
C列には、B列を元に、D列を検索し、対応する値をE列より求めます。
=LOOKUP(BXX,$D$1:$D$10,$E$1:$E$10)

で、C列を並び替えるというのではどうでしょうか?
    • good
    • 0
この回答へのお礼

ご回答、誠に有難うございました。
遅くなり申し訳ございませんでした。
未熟なりに、いろいろ試行錯誤しておりました。
A列の最終行以降が 空白 であっても、完了できました。
すごいですね。

お礼日時:2006/12/30 23:14

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