• ベストアンサー

excelの操作でわからないことがあります・・・。

ちょっとややこしい操作なので、うまく説明できるかわかりませんが、できるかぎりわかりやすく説明するつもりなので、よろしくお願いします。 まず、 51 42 35 41 36 50 41 32 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 36 40 39 38 というサンプルデータがあって、ここから1列目の 51 36 ・ ・ ・ 36 を取り出し、 1 1 1 2 1 3 ・・ ・・ ・・ 1 400 というデータ、(2列目は1~400まで1づつ増加)とくっつけて 1 1 51 1 2 36 ・・・ ・・・ ・・・ 1 400 36 というデータにします。 次にサンプルデータの2列目の 42 50 ・ ・ ・ 40 を取り出し、 2 1 2 2 2 3 ・・ ・・ ・・ 2 400 というデータとくっつけて 2 1 42 2 2 50 ・・・ ・・・ ・・・ 2 400 40 という風にする、というのをサンプルの3列目、4列目・・・・とやっていきたいのです。 (わかりにくい説明ですいません) どのような効率的な操作、あるいはマクロを作ればいいでしょうか? 単純に作業するには、サンプルデータの列数が多すぎて時間がかかり過ぎてしまうので、困っています。 ちなみに3列目は 3 1 35 3 2 41 ・・・ ・・・ ・・・ 3 400 39 になります。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

(例データ)本当は400行あるらしいが、6行と仮定して簡単化します。400や6は一定とします。A-D列まで 最終行は同じとします。 A1:D6 51 42 35 41 36 50 41 32 11 23 34 54 34 56 71 34 67 78 33 25 36 40 39 38 (関数式) 例えばG1に =INT((ROW(A1)-1)/6)+1 と入れて下の方に6*4行(G24)まで複写します。 H1に =MOD(ROW()-1,6)+1 と入れて下の方に6*4行(H24)まで複写します。 I1に =INDEX($A$1:$D$6,MOD(ROW()-1,6)+1,INT(ROW()-1)/6+1) といれて下の方に6*4行(I24)まで複写します。 (注)G列、H列がある、本質問の場合は =INDEX($A$1:$D$6,H1,G1)の方が簡単ですね。 G列、H列が無いケースも考えて上記とした。 (結果)G,H,I列は 1 1 51 1 2 36 1 3 11 1 4 34 1 5 67 1 6 36 2 1 42 2 2 50 2 3 23 2 4 56 2 5 78 2 6 40 3 1 35 3 2 41 3 3 34(以下略) のようになります。 他シートに作るのがいいですが、Sheet1!を前につけれは 修正はやさしい。ROW()にはSheet1!を付けないで下さい。 $6は最終行ですから本当の最終行数に変えること。 ●VBAでも10数行で書けますがお望みならば載せますが。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.2

[列番号]、[行番号]、[そこに格納されているサンプルデータ] という形式で、1列ごとにまとめた表を作りたい、という事でしょうか。 =COLUMN(セル名) で列番号を =ROW(セル名) で行番号を取得できますので サンプルデータが既にEXCELのシートに入っているようであれば サンプルデータがシートの一番左上(A1)のセルから 一つのセルに一つずつデータが入っているとして   1列目     2列目     3列目 =COLUMN(A1)  =ROW(A1)  =A1 という形で数式を入れ、この3つのセルを選択して 右下にカーソルを合わせ、カーソルの形が変わった所でドラッグして 下にコピーしていけば、1列目の内容を示す表ができるかと思います。 ※2列目以降は最初に指定するセル名をその列の最上行のセルにして同様の操作を ※サンプルデータが 1セル - 1データ の形式になっていないならば   #1の方がおっしゃる手順でデータをセル単位に分割する ※サンプルデータがシートの一番左上から始まっていない場合は   =COLUMN(セル名)-左の空白列の数   =ROW(セル名)-上の空白行の数   という形で数式を調整する ※シートをまたいでサンプルデータを見に行く場合は   シート名!セル名 という形で参照する(Sheet1!A1 等) という形で操作する事で、お望みの表が得られませんでしょうか。

全文を見る
すると、全ての回答が全文表示されます。
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

51 42 35 41 は 1つのセルに入っていて空白で区切られているなら データ-区切り位置で「カンマやタブなど~」をチェックし、次の区切り文字で「スペース」を選べば複数セルに分割出来ます。前0がある場合は事前に区切られたときに該当する列を全て書式設定で文字列にしておいた方が良いです。 あとはそれぞれのデータと&で連結させるだけです。 例) =A1&B1 試すのはテストブックで。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel データ操作

    Excel データ操作 ExcelでA列とB列というデータがあります。 B列の特定のセルに黄色く印をつけます。次に黄色く印をつけたデータを左隣のA列のセルに移すこととしたい。どのような操作すればできますか。 (私としては、まず移動したいものを決めて確認しておいて移しを一度に実行したいのです。)

  • エクセルでこのような並び替えが出来るのでしょうか?

    最初に行、次に列です。 エクセルでこのような並び替えが出来るのでしょうか?詳しい方教えてください。 今、5×5のセル(行列)があったとします。この行列を次のように縦に並び替えたいと思っています。 即ち、 (1,1) (1,2) (1,3) (1,4) (1,5) (2,1) (2,2) (2,3) (2,4) (2,5) (3,1) (3,2) (3,3) ・ ・ ・ ・ (5,4) (5,5) というふうに、1行の列数順に並べ、その下に次の行の列数順に並べるといった感じです。 例は、5×5ですが、実際には、200×10程度の行列なので手作業では、現実的ではないのです。 エクセルに詳しい方、何か、良いアドバイスがあれば教えてください。宜しくお願いします。

  • エクセルのマクロの操作を記録するについて教えて下さい。

    エクセルのマクロの操作を記録するについて教えて下さい。 マクロ・VBAを勉強しはじめた超初心者です。 毎日、CSVの新しいデータを取得します。 その中で、列の並び変えや文字の太さ、ここは¥マークをつけたい など編集したい事があるのですが、 それを毎日していると時間がかかってしまうので自動化したいので マクロというものを知りました。 実際に、新しいCSVファイルを開いて、 マクロの記憶→上記の編集操作→マクロ記憶終了→保存 とすると、行った動作ではなく、 今現に表示されているCSVの文字データも記憶されてしまいますよね?? 行った動作(列の並び変えや書式変更、関数入力)という行動”だけ”を 自動化するにはどうしたら良いのでしょうか? 毎日取得するCSVデータは 列の項目は一緒ですが、その中で数字や住所が違うデータです。 分かりにくい文章で申し訳ありませんが よろしくお願い致します。

  • Excel データの再配置

    Excelでデータを再配置するマクロの組み方を教えて下さい! 参考画像→ http://goo.gl/2nLWH 画像左側のように複数のデータセットが縦方向に配置されているシートで、左上が「セット○」セルから始まるデータセット単位で横方向に空白列を挟んで再配置したいと思っています。 画像はサンプルデータで、実際には行数は不定数、列数は4列のセットが複数個存在します。 宜しくお願いします。

  • エクセル2010 シート2とシート1の重複削除

    シート2のB列を元に シート1のB列と比較し、シート1側の重複したデータを一括で削除するという マクロを作りたいのですが 知識が足りずに作る事ができません。 データ数が多いので 効率のいい方法があったら教えていただけないでしょうか? またはマクロを教えていただけないでしょうか? 他の列はデータが埋まっていて作業領域にする事ができません。 よろしく お願いします。

  • EXCELのマクロで困ってます。

    EXCELのマクロで困ってます。 今EXCELでデータを処理しているのですが、 データが膨大にあり、処理するのにすごく時間がかかっています。 そこでマクロで何とかできないかと思っています。 EXCELに詳しい方のマクロ作成方法について教えてください。 質問内容は 画像の まずはB列の:の後ろにC列、D列、E列の文字を挿入し、それを次の列、次の列と進めていきたいのですが 可能でしょうか? それに開始ボタンと終了ボタンを作って 3人で作業したいと思っています。(後の二人はあまりマクロを知らないので簡単に動作させたい) コピペでは間に合わなく、ホントに困ってます。 よろしくお願いいたします。

  • EXCELでこんな操作できますか?

    EXCELでこんな操作できますか?ということで下記のようなことができるとするならば、具体的にどんなコマンドを入力すればいいのでしょうか?(関数や数式、条件設定法) まずA列にデータ番号1~100までB列にデ-タ1、C列にデ-タ2という表があるとします。 まず、データ1で10以上100以下の物を抜き出す (空いてる列にその条件に当てはまるデ-タ番号とデータ1、データ2を写す) (あるいはその条件に当てはまる行を任意の色で塗りつぶす) 次にデータ1で10以上100以下かつデータ2が0.7以下の物を抜き出す (空いてる列にその条件に当てはまるデ-タ番号とデータ1、データ2を写す) (あるいはその条件に当てはまる行を任意の色で塗りつぶす) あまりEXCELを使い慣れてませんので、詳しく教えていただけるとありがたいです。よろしくお願いします。

  • エクセル マクロの組み方について

    マクロ等について全くの初心者ですm(_ _)m 以下のマクロを組むにはどうしたらよいか教えて頂けませんでしょうか。 よろしくお願い致します。 サンプル1~10のデータを10回取ったとき、以下のようにデータが1列に100個並んでいて、No.1がサンプル1のデータ、No.2がサンプル2のデータ・・・No.11がサンプル1のデータ、No.12がサンプル2のデータ・・・となっています。これを別のシートに、横にNo.、縦にデータ値を並べ変えたいです。 No.  値 1  101 2  100 : 10 101 11 103 12 102  : 100 102 ↓以下のように別のシートに並び変えたい。    サンプル1  サンプル.2 ・・・・ サンプル10  1  101      100    ・・・・   101  2  103      102          :  :    :        :           : 10                      102

  • EXCELのデータで空白列を削除したい

    EXCELで列数・行数が毎回変化するデータがあり、この中に数箇所に分かれて空白列が存在します。 この空白列だけをマクロで削除する方法を教えてください。

  • エクセルの操作

    エクセル初心者です。仕事の都合で次のような操作をしたいのですが、悪戦苦闘しています。ご存じの方教えてください。 *「シート1」の各行の、A列には「整理番号」が、B列からG列までにはそれぞれのセルに「データ」が入力してあります。 *「シート2」の任意のセルに「シート1のいずれかの整理番号」を入力すると、「シート1」内の「該当する整理番号の行(?)」が選択され、それらの各BセルからGセルのデータが、「シート2」の任意のセルに入力されるようにしたいのです。 書き方がまずいかもしれませんが、よろしくお願いします。

専門家に質問してみよう