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

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

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

エクセルの編集に関して教えていただければ幸いです。 下記の変更前のように、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

noname#230358
noname#230358

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

  • ベストアンサー
noname#230359
noname#230359
回答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

noname#230358
質問者

補足

とくほん様 お世話になっております。 どうもありがとうございます。 マクロ文まで記載していただき本当にありがとうございます。 試してみます。 自分では案が浮かばなかったので本当に助かります。

その他の回答 (2)

noname#230359
noname#230359
回答No.2

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

noname#230358
質問者

補足

0440ark様 お世話になっております。 ご回答ありがとうございます。 VLOOKUP関数を使ったことがなかったのですが、 少し試してみてとても便利な関数であるとわかりました。 どうもありがとうございます。

noname#230359
noname#230359
回答No.1

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

noname#230358
質問者

お礼

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

関連するQ&A

  • データの分析 118

    nを2以上の自然数とする。次の問いに答えよ。 (1)変量xの値がx(1),x(2),・・・,x(n)であるとし f(a)=1/nΣ[k=1,n](x(k)-a)^2 とする。f(a)を最小にするaはx(1),x(2),・・・,x(n)の平均値で、そのときの最小値はx(1),x(2),・・・,x(n)の分散であることを示せ。 (2)cを定数として、変量y,zのk番目のデータの値が y(k)=k(k=1,2,・・・,n),z(k)=ck(k=1,2,・・・,n) であるとする。このときy(1),y(2),・・・,y(n)の分散がz(1),z(2),・・・,z(n)の分散より大きくなるためのcの必要十分条件を求めよ。 (3)変量xのデータの値がx(1),x(2),・・・,x(n)であるとし、その平均値をxバーとする。新たにデータを得たとし、その値をx(n+1)とする。x(1),x(2),・・・,x(n),x(n+1)の平均値をx(n+1),xバーおよびnを用いて表せ。 (4)次の40個のデータと平均値、分散、中央値を計算すると、それぞれ、ちょうど40,670,35であった。 120,10,60,70,30,20,20,30,20,60 40,50,40,10,30,40,40,30,20,70 100,20,20,40,40,60,70,20,50,10 30,10,50,80,10,30,70,10,60,10 新たにデータを得たとし、その値が40であった。この時、41個のすべてのデータの平均値、分散、中央値を求めよ。ただし、得られた値が整数でない場合は、少数第1位を四捨五入せよ。 この問題を解いてください。お願いします。

  • Excelのmatch関数の2次元版はありますか?

    Excelで、横にx(0.00~1.00)、縦にy(0.00~1.00)を等間隔(0.01)で入れて2変数関数値zの表を作っているのですが、 この中でzの最大値を与えるx,yを求めたいです。(zの最大値自体はMAX(H15:DD115)というように求まる) match関数というものがあるのは分かったのですが、これだけだと1次元配列しか検索できないようなのですが、2次元で求めるzが入っている。x,yのオフセット(あるいはセル番地)を求める方法はありますか?

  • 数学の問題教えて下さい

    x>=0,y>=0で2分のx+1=2-3分のy=zとする (1)zの値の範囲を求めよ (2) xy+Z^2の最大値と最小値を求めよ。またこのときのx,y,zの値を求めよ

  • エクセル グラフで元のデータ部分を参照させたい

    自力では解決出来なかったので 知識、知恵のあるかた、助けてください! エクセルのグラフを書く際に X軸Y軸の値をいじるときに 元のデータを開きますが その元のデータ欄に入ってる参照数式を  別のセル 例えばA1セルに その数式を文字列で入力し 参照させてグラフに反映させることは出来ないでしょうか? 数式自体でなくても、例えば列名や行列番号などを セルに入力しそれをグラフの元データの参照部分に反映させたいのです。 元データを開いてy軸の参照部分を変更しながら グラフを大量に作成しておりますが セルに数字を入れるだけで参照箇所を変えることが出来ないでしょうか。 実際の 元のデータ x軸の値 「   」 ここに入れるべきセル参照の式を教えていただければ幸いです。 よろしくお願いいたします。

  • エクセル-計算結果の少数末尾がゼロ

    自作マクロにて、入力したデータXとそれを使って計算した結果Zの少数桁数の表示を揃えたいと思っています。 例えば、 Z = X * Y という式の場合、X=0.02 Y=5としたとき ZはXと同じ桁数で0.10と表示させたいのですが、末尾のゼロが省略されてしまい、0.1と表示されてしまいます。 しかも入力値Xの少数桁数が場合によって変わるので、単純に書式設定で0.00としておくことができません。 力技ですが、入力値に関してはセルの書式設定を文字列に設定して末尾にゼロを入力しても表示させるようにしています。 何かスマートなやり方はないでしょうか?

  • エクセルで数字を抜き取りかつ振り分けたいです。

         A1セル書き込まれた、X-54760Y-84360 という文字列からX後の-54760とY後の-84360を抜き取って、B1、C1セル等横方向に振り分けたいのですがどうするといいでしょうか? FIND MIDB LEFT RIGHT 等をうまく活用できれば いいのかもしれませんが、できません。 なおXY後の半角数字は2~8桁です。(X-1276585Y80等)よろしくお願いいたします。

  • (x+y-1)/(x-y)=(y+z-1)/(y-z)=(z+x-1)

    (x+y-1)/(x-y)=(y+z-1)/(y-z)=(z+x-1)/(z-x)のとき (1)x+y+z=3/2 (2)x^2+y^2+z^2=xy+yz+zx=3/4 (3){1/(x-1/2)^2}+{1/(y-1/2)^2}+{1/(z-1/2)^2}の値を求めよ。 (1)と(2)の値も問題で、上のような値になりました。 (3)は通分して、(1)と(2)をつかうと、分子が0になってしまい、明らかに答えとしては おかしい。(3)はどうすればよいのでしょうか。よろしくおねがいします。

  • 対称式

    こんにちは。 よろしくお願いいたします」。 x+y+z=2√3,xy+yz+zx=-3 xyz=-6√3 を満たす実数x,y,zについて次の式の値を求めよ。 (1)x^2/yz+y^2/zx+z^2/xy (2)x^4+y^4+z^4 (1)はできたのですが、(2)がとき方すらわかりません。 答えは(1)-4,(2)162 です。 教えてください。 よろしくお願いいたします。

  • 座標

    xy平面、xyz空間で座標を書くとき (x、y)、(x、y、z)と普通は書きます。 これを縦で書いてはいけないでしょうか?(2行1列、3行1列の行列のように) 「一般に横で書かれているのだから横に書きなさい」 とおっしゃられるかたもいると思うのですが、 座標を使って内積を作るときなど、やりやすいのです。

  • EXCELのデータ抽出

    縦x横x奥行の寸法データが記載されたデータが取引先からEXCELで届きます。 1300x500x10 や 500x500x100という表記です。 これらの寸法データはワンオフ品のため毎回4桁~2桁の数値で異なります。 縦、横、奥行のデータを下記のようにそれぞれ別のセルに抽出したいと思い いろいろ調べてみたのですがいい方法が見当たりません。 なにか方法はあるでしょうか? ご教示お願いします。 A列 1300x500x10  A列   B列   C列 1300   500   10