• ベストアンサー

簡単なことかも知れませんがお教えください。

エクセルで以下のようなデータがあります。 列A 田中 23歳 東京 吉田 35歳 愛知 ・ ・ ・ この1列のデータを3列の表にしたいのですが 列A 列B 列C 名前 年齢 所在地 田中 23歳 東京 吉田 35歳 愛知 ・  ・  ・ ・  ・  ・ ほんとに基礎的なことかもしれませんがよろしくお願い致します。

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

  • ベストアンサー
noname#99913
noname#99913
回答No.1

(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行挿入し、項目を記入

gyazu9150
質問者

お礼

上手く出来ました。有難うございます。

その他の回答 (2)

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

最初の田中がA1セルにあるとしたら、 3列にしたい左上端のセルに =OFFSET($A$1,(ROW(A1)-1)*3+COLUMN(A1)-1,0) これを右に3列、コピーしてそのまま下に 必要行ぶんだけコピーして下さい。 但しこのデーターは参照しているだけなので、直接の値に したければ、一度全体をコピーしてから、形式を選択して貼り付け→値 として下さい。 最初の値がA1セルに無い場合は、 「OFFSET($A$1・・・・・・・」この$A$1を実情に合わせて 変更してください。

gyazu9150
質問者

お礼

田中はA1セルにありますのでそのままで大丈夫でした。 ご回答、有難うございました。

  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.2

例示の列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の違いをちゃんと見てくださいね。

gyazu9150
質問者

お礼

こちらの方法でも試してみました。 まだまだ関数が苦手なので助かりました。 有難うございます。

関連するQ&A