本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルデータの編集に関して)

エクセルデータの編集に関する方法

2023/10/17 15:32

このQ&Aのポイント
  • エクセルデータの編集について教えてください。データの並び替えや入力方法についての情報が必要です。
  • エクセルデータの編集方法について教えてください。大量のデータを効率的に並び替える方法が知りたいです。
  • エクセルデータの編集に関する質問です。X、Y、Zの値を縦に並べ替える方法を教えてください。
※ 以下は、質問の原文です

エクセルデータの編集に関して

2009/06/08 17:59

エクセルの編集に関して教えていただければ幸いです。
下記の変更前のように、Y値(0,5,10)は縦に、
X値(0,100,200)は横に,
Z値(少数点含む値)は、XYの交差するセルに入力されているデータを
変更後のように、
X,Y,Z共、縦に並べ替えたいのですが、
データがかなり大量なので、良い方法がありましたら
お教えいただけますでしょうか。
宜しくお願い致します。


【変更前】
X
0 100 200
Y 0 23.1 30.1 63.5
5 54.3 60.1 36.5
10 12.5 54.7 98.7



【変更後】
X Y Z
0 0 23.1
100 0 30.1
200 0 63.5
0 5 54.3
100 5 60.1
200 5 36.5
0 10 12.5
100 10 54.7
200 10 98.7

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

ベストアンサー
2009/06/09 07:44
回答No.3

やっつけ仕事になりますが、
マクロ(VBA)でやられてはどうでしょう。

マクロ(VBA)は大昔にほんの少しかじっただけなので拙いですが、
Sheet1に下図のように入力してあり、
http://mcnc.hp.infoseek.co.jp/cgi-bin/img-box/img20090609070712.jpg
Sheet2に下図のように出力する例です。
http://mcnc.hp.infoseek.co.jp/cgi-bin/img-box/img20090609070905.jpg

Sub Macro1()

Dim StartRow As Integer '入力データ開始行
Dim EndRow As Integer '入力データ終了行
Dim CounterRow As Integer '入力データ行カウンタ
Dim StartColumn As Integer '入力データ開始列
Dim EndColumn As Integer '入力データ終了列
Dim CounterColumn As Integer '入力データ列カウンタ
Dim OutputRow As Integer '出力行

StartRow = 3
EndRow = 5
StartColumn = 3
EndColumn = 5
OutputRow = 1

For CounterRow = StartRow To EndRow
For CounterColumn = StartColumn To EndColumn
Sheet2.Cells(OutputRow, 1) = Cells(StartRow - 1, CounterColumn) 'X列の出力
Sheet2.Cells(OutputRow, 2) = Cells(CounterRow, StartColumn - 1) 'Y列の出力
Sheet2.Cells(OutputRow, 3) = Cells(CounterRow, CounterColumn) 'Z列の出力
OutputRow = OutputRow + 1
Next CounterColumn
Next CounterRow

End Sub

補足

2009/06/09 12:10

とくほん様

お世話になっております。
どうもありがとうございます。

マクロ文まで記載していただき本当にありがとうございます。
試してみます。

自分では案が浮かばなかったので本当に助かります。

質問者

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する

その他の回答 (3件中 1~3件目)

2009/06/08 18:23
回答No.2

VLOOKUP関数をつかって縦横変換をやったことがあります。考えてみて下さい。

補足

2009/06/09 12:07

0440ark様

お世話になっております。
ご回答ありがとうございます。

VLOOKUP関数を使ったことがなかったのですが、
少し試してみてとても便利な関数であるとわかりました。
どうもありがとうございます。

質問者
2009/06/08 18:22
回答No.1

データベースにエクセルを読み込ませてから
データベースから希望の形で出力するのはだめですか

お礼

2009/06/09 12:04

灰色兎様

お世話になっております。
ご回答ありがとうございます。

データベースを作ったことがないのですが、
インターネットで調べたところ
テーブルを作成してデータを入力するようですね。
今後もこのようなデータを並べかえる作業が
頻繁にあるかと思うのでデータベース化した方が良いかもしれません。
知識不足なのでもう少し調べてみます。

質問者

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。