- ベストアンサー
簡単なことかも知れませんがお教えください。
エクセルで以下のようなデータがあります。 列A 田中 23歳 東京 吉田 35歳 愛知 ・ ・ ・ この1列のデータを3列の表にしたいのですが 列A 列B 列C 名前 年齢 所在地 田中 23歳 東京 吉田 35歳 愛知 ・ ・ ・ ・ ・ ・ ほんとに基礎的なことかもしれませんがよろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
(1)B1に「=OFFSET($A$1,(ROW()-1)*3,0)」と入力 (2)C1に「=OFFSET($A$1,(ROW()-1)*3+1,0)」と入力 (3)D1に「=OFFSET($A$1,(ROW()-1)*3+2,0)」と入力 (4)B1:D1を下へ人数分コピー (5)B~D列をコピーし、形式を選択して貼り付け→値として貼り付け (6)A列を削除 (7)1行挿入し、項目を記入
その他の回答 (2)
- suekun
- ベストアンサー率25% (369/1454)
最初の田中がA1セルにあるとしたら、 3列にしたい左上端のセルに =OFFSET($A$1,(ROW(A1)-1)*3+COLUMN(A1)-1,0) これを右に3列、コピーしてそのまま下に 必要行ぶんだけコピーして下さい。 但しこのデーターは参照しているだけなので、直接の値に したければ、一度全体をコピーしてから、形式を選択して貼り付け→値 として下さい。 最初の値がA1セルに無い場合は、 「OFFSET($A$1・・・・・・・」この$A$1を実情に合わせて 変更してください。
お礼
田中はA1セルにありますのでそのままで大丈夫でした。 ご回答、有難うございました。
- Sinogi
- ベストアンサー率27% (72/260)
例示の列Aをご希望の列A~Cに変換するのは可能でしょうが大変手間が掛かります。 別シートの列A~Cでなら以下の式で実現できます。 列A =INDEX(元シート!$A:$A,INT((ROW()-1)*3+1)) 列B =INDEX(元シート!$A:$A,INT((ROW()-1)*3+2)) 列C =INDEX(元シート!$A:$A,INT((ROW()-1)*3+3)) A~Cの違いをちゃんと見てくださいね。
お礼
こちらの方法でも試してみました。 まだまだ関数が苦手なので助かりました。 有難うございます。
お礼
上手く出来ました。有難うございます。