• ベストアンサー

Excelでの並べ替え

 いつもお世話になります。  急ぎで、以下のことをしたいのですが、Excelのマクロで何とかなりませんか? A B C D E F  このように300程の数字が、横に3つずつ区切ってセルに入っています。これを、 A B C のようにすべてA列に縦に並べ替えたいのですが。  申し訳ないですが、急ぐのでよろしくお願いします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

#01です。 >横に3つずつ区切ってセルに入っています これはもしかして A列 B列 C列 A   B   C D   E   F という並びですか? だとすれば式は以下です =OFFSET($A$1,INT((ROW(A1)-1)/3),MOD(ROW(A1)-1,3)) 具体的なセルの並びを書いていただくと回答する側も助かります

その他の回答 (4)

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.5

マルチ側の正解を見ると、質問の解釈は合っていたようですが 確認せずに回答したので、数式が間違ってました^^; でも、マルチだし、もう一方で解決してるし良かった。

  • ikiss
  • ベストアンサー率43% (34/79)
回答No.4

QNo.2954452と全く同じ質問ですね。 マルチポストは禁止されてますよー。

dogs59
質問者

補足

 マルチですみません。あちらを投稿後、PCがハングアップして確認したら、アップされていなかったようなので。 同じ質問をしている人がいるなぁと思ったら私でした。誠に申しわけない。

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.2

関数で処理して後に値で貼り付ける事を前提として、 対象の数値が   A  B  C 1 111 222 333 2 444 555 666 3 777 888 999 と並んでいるなら空白処理も含めて =IF(OFFSET($A$1,INT(ROW(A1)/3),MOD(ROW(A3),3))="","",OFFSET($A$1,INT(ROW(A1)/3),MOD(ROW(A3),3))) これを貼り付けたいセルの隣の列に一度入れて下にコピー その後本当の貼り付けたい範囲に値で貼り付けて下さい。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

A1セルからデータがあるとき、同じシートの適当なセルに以下の式を入れて下にコピーする =MID(OFFSET($A$1,INT((ROW(A1)-1)/3),0),MOD(ROW(A1)-1,3)+1,1) A1から始まっていないときは$A$1の部分だけを実際の開始セルに変更してください。(INTより後ろはさわらない!) 後は分解したデータをコピーして「編集」→「形式を選択して貼り付け」→「値」で値に変換するとよいでしょう

関連するQ&A

専門家に質問してみよう