- ベストアンサー
Excelでの並べ替え
いつもお世話になります。 急ぎで、以下のことをしたいのですが、Excelのマクロで何とかなりませんか? A B C D E F このように300程の数字が、横に3つずつ区切ってセルに入っています。これを、 A B C のようにすべてA列に縦に並べ替えたいのですが。 申し訳ないですが、急ぐのでよろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#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)
マルチ側の正解を見ると、質問の解釈は合っていたようですが 確認せずに回答したので、数式が間違ってました^^; でも、マルチだし、もう一方で解決してるし良かった。
- ikiss
- ベストアンサー率43% (34/79)
QNo.2954452と全く同じ質問ですね。 マルチポストは禁止されてますよー。
- suekun
- ベストアンサー率25% (369/1454)
関数で処理して後に値で貼り付ける事を前提として、 対象の数値が 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)
A1セルからデータがあるとき、同じシートの適当なセルに以下の式を入れて下にコピーする =MID(OFFSET($A$1,INT((ROW(A1)-1)/3),0),MOD(ROW(A1)-1,3)+1,1) A1から始まっていないときは$A$1の部分だけを実際の開始セルに変更してください。(INTより後ろはさわらない!) 後は分解したデータをコピーして「編集」→「形式を選択して貼り付け」→「値」で値に変換するとよいでしょう
補足
マルチですみません。あちらを投稿後、PCがハングアップして確認したら、アップされていなかったようなので。 同じ質問をしている人がいるなぁと思ったら私でした。誠に申しわけない。