• ベストアンサー

エクセルのデータの並び替え

B列に 1 2 3 4 5 6 7 8 9 10 ・・・・・と文字のデータがあります。 これを 12345, 23456, 34567, 45678, 56789, 6789 10, 789 10 11, ・・・・という風に、1つずつずれた5組ずつのデータでつらなるように並び替えたいのです。どんな関数を使えばよいかわかりません。 よろしくお願いします。

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

  • ベストアンサー
noname#235092
noname#235092
回答No.7

C列に上から、 1 2 3 4 5 =c1+1 この一番下の行をc7以下にコピーする。

ei60
質問者

お礼

そうですね。これで数字がうまく並びました。 これでVLOOKUP関数で文字に変えてうまくいきました。 一度にやろうとして、mod関数でもうちょっとでうまくいきそうでしたが こちらの方が簡単だとわかりました。 説明不足で申し訳ありませんでした。ありがとうございました。

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

その他の回答 (6)

  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.6

□ B  C 1  1  12345 2  2  23456 3  3  34567 4  4  45678 5  ・  ・ 6  ・  ・ のように並べたいのであれば、 セルC1に『=B1&B2&B3&B4&B5』と入力して、下にオートフィルコピーすれば、上記のように並びます。 但し、8行目は 89 10 11 12 ではなく 89101112 のようになります。 違っていたらすみません。

ei60
質問者

お礼

説明不足で申し訳ありませんでした。 1,2,3のデータに改行がいるので セルが1つずつ下に必要でした。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.5

技術的な必要から第1行目は空けて(1行の行挿入して)、第二行目からB列で1,2、3、・・の連番にする。 C2に =IF(MOD(ROW()-1,5)=1,INT(ROW()/5)+1,C1+1) と入れて、下方向に式を複写する。 結果 C2から、B、C列を上げると 1 1 2 2 3 3 4 4 5 5 6 2 7 3 8 4 9 5 10 6 11 3 12 4 13 5 14 6 15 7 16 4 17 5 18 6 19 7 20 8 21 5 22 6 ・・・ これでよいのでしょう。 色々とセル番地を使って書くよりも、実現後のB,C列の結果を上げて質問したほうが、回答者にはわかりやすいと思いました。

ei60
質問者

お礼

これでVLOOKUP関数で文字に変えてうまくいきました。 一度にやろうとして、mod関数でもうちょっとでうまくいきそうでしたが こちらの方が簡単だとわかりました。 説明不足で申し訳ありませんでした。ありがとうございました。

すると、全ての回答が全文表示されます。
noname#235092
noname#235092
回答No.4

やりたいことがやっとわかりました。 C列に上から、 =b1 =b2 =b3 =b4 =b5 =c1+1 この一番下の行をc7以下にコピーする。 これでどうですか?

ei60
質問者

補足

=c1+1 が #VALUE! のエラーとなります。

すると、全ての回答が全文表示されます。
noname#235092
noname#235092
回答No.3

No.1の方の方法でいいのでは? 具体的には、C1に「=B1&B2&B3&B4&B5」を入力しC2以下に複写する。 やりたいことの意味がイマイチわかりませんがやってみて!

ei60
質問者

補足

すみません。C1にはB1だけ、c2にはB2だけで・・・ C5にはB5だけ、C6にはB2、C7にはB3という風に C列にはB列の5倍分のデータが重複しながら並びます。

すると、全ての回答が全文表示されます。
  • newbranch
  • ベストアンサー率30% (319/1053)
回答No.2

一番左には、LEFT関数を、次からは、MID関数を最後はRIGHT関数を使用すれば、B列の文字データを5つづつ区切ることは出来ます。 (質問では、何処にデータを入れたいのかが判りませんので回答が難しいですね)

ei60
質問者

補足

質問のしかたがまずくてすみません。C列に5つずつ入れていきたいのです。5の剰余数を使えばいけるかと思うのですが、うむくいきません。 よろしくお願いします。

すると、全ての回答が全文表示されます。
  • kazu0112
  • ベストアンサー率29% (54/186)
回答No.1

C列に単純に「&」でつないでいけばいいと思います。 そして、関数コピーすればOK。 ただし、データの内容にもよります。

ei60
質問者

補足

ちょっと質問の仕方がまずかったようです。データ数が1000少しあって、5つずつコピーしてC列に写していくのは大変です。 C列に B1B2B3B4B5B2B3B4B5B6B3B4B5B6B7B4B5B6B7B8B5B6B7B8B9, B6B7B8B9 B10B7B8B9 B10 B11・・・ とデータを入れたいのです。 いろいろやっているのですが、うまくいきません。

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

関連するQ&A