- ベストアンサー
座標と座標値を表にする
教えてください。 下に示すような値があって、 x ---y---z 11---4---6 15--12---8 12--14---3 15--14---6 ・ ・ ・ ・ これを、下の様な表形式?行列形式?にしたいと思っています。 --11--15--12・・・・・・・・・x -4-6-------- 12-----8---- 14-----6---3 ・ ・ ・ ・ y その後でさらに加工したいので、 出来ればエクセルだと助かります。 簡単な質問かもしれませんが、 お力を貸して下さい。 申し訳ございませんがよろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
今仮に、元データである上の表の中で、「x」と入力されているセルがA1セルであるものとします。 又、下の表において、yの値を並べて表示している列がE列であり、xの値を並べて表示している行が1行目であるものとします。(要するに、下の表の左上の隅にあたるセルがE1セルであるものとします) まず、E2セルに次の関数を入力して下さい。 =IF(INDEX($B:$B,ROW($B$1)+ROWS($2:2))="","",INDEX($B:$B,ROW($B$1)+ROWS($2:2))) 次に、E2セルをコピーして、E3以下に貼り付けて下さい。 次に、F1セルに次の関数を入力して下さい。 =IF(INDEX($A:$A,ROW($A$1)+COLUMNS($F:F))="","",INDEX($A:$A,ROW($A$1)+COLUMNS($F:F))) 次に、F1セルをコピーして、表内の1行目においてF1よりも右側にある全てのセルに貼り付けて下さい。 次に、F2セルに次の関数を入力して下さい。 =IF(ROWS($2:2)=COLUMNS($F:F),IF(INDEX($C:$C,ROW($C$1)+ROWS($2:2))="","",INDEX($C:$C,ROW($C$1)+ROWS($2:2))),"") 次に、F2セルをコピーして、表内において、E列よりも右側の列の2行目以下に位置しているセル範囲に貼り付けて下さい。 以上です。
その他の回答 (1)
- kamikami30
- ベストアンサー率24% (812/3335)
難しいです。 Excelは表計算のソフトなので、Excel自体が表のようにセルが並んでいます。 A1のセルにx B1のセルにy C1のセルにz と項目名を作り、各行にそれぞれの座標を入れると表が完成します。 表がそもそも何のことだかわからなかったり、単語の意味がわからないなら調べてから使ってください。 とりあえず、上記の方法で表は出来ます。 何がしたいのかをご説明下さい。
補足
説明不足で申し訳ございません。 xはx座標、yはy座標、zは計測値です。 それが最初の図のように、 xはx列に、yはy列に、zはz列に並んでいる状態です。 それを二番目の図のように、 xを横に並べyを縦に並べ、それぞれxとyに対応するzを入れたいと思っております。 kamikami30さんがおっしゃったような方法で、 地道に数値を入れていこうと思ったのですが、計測値が1000個近くあり、 関数かVBA、フリーソフトを使わないときついかなと思っております。 vlookupやindex、match関数では上手くいかなかったので皆様の知恵を拝借できないかと思い、 こちらに投稿させていただきました。 説明べたですみません。何か良い案があれば力を貸して下さると助かります。
お礼
ありがとうございます。 kagakusukiさんのおかげで、表作成出来ました。 こういう場でなじみがないのですが、 新たに疑問が発生しました。 再度、質問を上げさせて頂きますので、 お力を貸して下さると助かります。 この度は本当にありがとうございました。