- 締切済み
excel 複数行をまとめる 一括変換
データ整理で困っております。 皆様のお知恵を拝借したくお願いいたします。 EXCELシートで次のようなデータがあります。 A B C D E F G H I J K 1 1 あ い 2 う え 3 お か 4 き く 5 け こ 列はA,B,Cのみにデータがあります。 行は1~5にあります。 A1は連番で数字があります。 この5行のデータが400近くあります。(約2,000行) このシートが10ほど存在します。 これらのシートを次のように1行に変換したいのです。 A B C D E F G H I J K 1 1 あ い う え お か き く け こ 2 3 4 5 行2~5はブランクのままでもかまいません。 何卒よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- turuzou
- ベストアンサー率33% (15/45)
No.1です 下記の様に変更すれば、良いですよ。 D1へ =OFFSET(Sheet1!$A$2,(ROW(A1)-1)*5+INT(COLUMN(B1)/2)-1,MOD(COLUMN(B1),2)) ↓ D1へ =OFFSET(Sheet1!$B$2,(ROW(A1)-1)*5+INT(COLUMN(B1)/2)-1,MOD(COLUMN(B1),2)) Excelのヘルプで、それぞれの関数を確認してみて下さい。 (A、B、C列の数式はNo.1のままでOKです)
- winarrow07
- ベストアンサー率41% (143/346)
すべてのシートの分を1行にしたいのか、シートごとにやりたいのか等やりたいことがまだピンときてませんが、 Excel2003以前のExcelの場合、1行あたり256列しかないと思いますが大丈夫ですか?
お礼
早速のご回答ありがとうございます。仕事で帰宅が今になり、お礼遅くなりまことに申し訳ありません。 Excelのヴァージョンですが自宅が2003、職場が2000です。 今回の場合5行単位で意見のデータが各セルに2列ずつ存在しています。ですので今回はA列からK列までおさまりそうです。 ご指摘のように行が増えればこのような場合も考えなければならないのですね。参考になりました。ありがとうございました。
- turuzou
- ベストアンサー率33% (15/45)
こんなのは如何でしょうか? 別Sheetに表示させるとして、例えば元データがSheet1にあるとして 表示させたいSheetのA1(表示させたい範囲の左上のセル)へ =OFFSET(Sheet1!$A$1,(ROW(A1)-1)*5,COLUMN(A1)-1) を、オートフィルで C1 まで D1へ =OFFSET(Sheet1!$A$2,(ROW(A1)-1)*5+INT(COLUMN(B1)/2)-1,MOD(COLUMN(B1),2)) を、オートフィルで、K1 まで、 A1:K1を選択して、オートフィルで必要分下へ 以上で、空白行がない状態で表示されます。
お礼
早速のご回答ありがとうございます。仕事で帰宅が今になり、お礼遅くなりまことに申し訳ありません。 なるほどこのようなやり方があったのですね。勉強になりました。 ありがとうございました。
補足
今日仕事場でその場しのぎですが解決方法を思いついたので報告しておきます。質問ではわかりにくくなってしまっていますが、A列は1行のみ連番があり、B列、C列は1行から5行目までデータが入っています。 この条件下でといくことでご容赦ください。 (1)まずB,C列の内容をすべてコピーしD,E列にコピーした内容を挿入 します。 (2)D,E列の1行目のみ削除しその後上に詰めさせます。 (3)同じようにB,C列の内容をコピーしF,G列、H,I列、J,K列にコピー します。 (4)F,G列の1から2行目、H,I列の1から3行目、J,K列の1から4行目 をそれぞれ削除した後上に詰めます。 (5)連番が入っている行はB,C列の内容が1行づつずれていますので 目的のデータができています。 (6)全体をデータの並べ替えでA列の内容を昇順に並べ替ます。 (7)A列にデータがないもをすべて削除します。 これで400行のデータが取れました。 以上力技ですが何とかなるものでした。 こんなんで解決する問題であったのに皆様にご迷惑をおかけしました。
お礼
大変参考になりました。 誠にありがとうございました。