エクセルで作成したデータを整理したいのですが、行列入替コピペ以外で最も簡単な方法を教えてください。

整理前↓                整理後↓
氏名       ○○       氏名 ID  住所
ID        0000       ○○ 0000 鳥取
住所       鳥取       △△ 1111 長野
氏名       △△
ID        1111
住所       長野

このQ&Aに関連する最新のQ&A

A 回答 (3件)

一例です。


仮にデータがB1以下に3行間隔で配列、D1:F1に見出し項目とします。
(1)D2に=OFFSET($B$1,ROW(A1)-(4-COLUMN(A1))+ROW(A1)*2,)を設定、縦横にコピー
(2)並び替えした範囲をコピー→形式を選択して貼り付けで「値」を選択→OK
    • good
    • 0
この回答へのお礼

できました!
大変助かりました。迅速な回答ありがとうございます!

お礼日時:2009/05/19 12:40

>、行列入替コピペ以外で最も簡単な方法を


コピーー編集ー形式を選択して貼り付けー行列を入れ替える
のことか。
これが一番易しい。
(1)関数
(2)VBA
ぐらいしか手はなく、(1)も別列(別行範囲)に出さなければならない。式も初心者には少し難しい。
(2)は経験が質問者にないだろう。(略)
何か目算でも有るのかな。
====
そうだ標題の
>行列入れ替えなどは、紛らわしい。誤解した。
表の組み換えというべきもの。
関数でやれば
例データ
A1:B9
A列  B列
氏名AA
ID0000
住所鳥取
氏名BB
ID1111
住所長野
氏名CC
ID2222
住所福井
ーーー
例えば
D1:F4
D列  E列   F列
氏名ID住所
AA0000鳥取
BB1111長野
CC2222福井
ーー
氏名ID住所は手入力
D2の式は =INDEX($B$1:$B$100,(ROW()-2)*3+COLUMN()-3,1)
F2まで式複写。
D2:F2をD4:F4まで式複写。
結果
上記の通り。
元の行の何番目を取ってくるかという、Row()とCOLUMN()の算数問題のようになる。
    • good
    • 0
この回答へのお礼

>元の行の何番目を取ってくるかという、Row()とCOLUMN()の算数問題のようになる。

回答ありがとうございます。
RowとCOLUMNにはそういう意味があるのですね。組み合わせ次第でいろいろできそうですね。勉強になりました。

お礼日時:2009/05/23 11:10

maimainetさん 今日は!


>行列入替コピペ以外で最も簡単な方法を教えてください。
此れは如何ですか?
■エクセルのお約束:データ範囲(リスト範囲)のお約束↓
http://www.eurus.dti.ne.jp/~yoneyama/Excel/yakus …
●[並び替え] 実行時の自動範囲選択↓
http://support.microsoft.com/kb/814229/ja
既にご承知でしょうがExcelのサイトを紹介させて頂きます。
■Excel(エクセル)入門/基本/上級/実用講座の総目次↓
http://www.eurus.dti.ne.jp/~yoneyama/Excel/Exl-_ …
■Excel2007(エクセル2007)基本講座の総目次↓
http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/i …
概要:「よねさんのWordとExcelの小部屋サイト」で図入りで、親切に解説して呉ますのでお気に入りに登録したいサイトです。
エクセルQ&A(Tips) も有り解説に無い分の検索で探せる1番のお勧めです。
■エクセルの学校・ライブラリ他↓
http://www.excel.studio-kazu.jp/excellib.html
概要:表作成全般・関数・VBA・便利機能・その他・よくある質問・困った等ジャンル別に探せます。(Mac用も一緒に見れます)
■Excel(エクセル)学習室↓
http://www.kenzo30.com/
概要:Excel (エクセル)の書式設定や関数の使い方など、学習のための材料を提供している「Excel(エクセル)学習室KENZO30」のサイトです。
『エクセル入門・初級編』 『エクセル中級・特別編』 『エクセル ワンポイント編I』 『エクセル ワンポイント編II』『エクセル質問掲示板』『作品紹介』『リンク集』のジャンル別に分かれて操作法・疑問の解決を初心者でも理解できるサイトで利用価値は有ります。
■エクセルの勉強部屋↓
http://kiyopon.sakura.ne.jp/index.shtml
概要:エクセルの操作に関する図解説明・ワークシート関数の説明・エクセルの便利な使い方の説明・エクセルの操作とマクロに関する自習問題と解説・マクロの作成方法を解説(例題含む)・パワーポイントによる操作説明とエクセルでの操作実習・エクセルでのみなさんの質問を寄せてください・のジャンルに分かれています。
関連:■Excelの質問(日付順)↓
    http://kiyopon.sakura.ne.jp/situmon/index01.htm
   内容:Excelの質問集で日付の新しい順に一覧リストで表示され      てる「エクセルの勉強部屋」のサイトです。
    • good
    • 0
この回答へのお礼

ARIKEN43さんこんにちわ。回答ありがとうございます。
今後の参考になりそうな記事・サイトばかりですね。
エクセルはまだ不慣れで今回の件についてはどれを参考にすればいいか
分からなかったのですが、今後利用させていただきます!

お礼日時:2009/05/23 11:07

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル プルダウンの作り方

お世話になります。
エクセルでプルダウンの作り方を教えていただけませんでしょうか?
住所を▼のボタンでクリックしたら【北海道,青森,秋田,岩手・・・】などの選択ができるようにしたいのです。
宜しくお願いします。

Aベストアンサー

メニューから「データ」、「入力規則」、「設定」で「入力値の種類」を「リスト」を選択します。
そうすると「元の値」という表示がでますので、そこで前もって作っておいたリストの範囲を指定します。
多くないのでしたら、そのままそこにカンマで区切って入力しても出来ます。

Qエクセルで作成した名簿の中から抽出したデータのみ別のブックに一覧作成し

エクセルで作成した名簿の中から抽出したデータのみ別のブックに一覧作成したいのです。
シート毎に個人情報を入力してますが、同時に別ブックにて氏名、住所、連絡先のみを一覧にしたいです。
個人情報のシートは
ブック名「顧客情報詳細」の氏名欄がA6をブック「一覧表」のA1に。
住所はJ6→B1  連絡先J8→C3  といった具合です。

教えていただけないでしょうか? 
宜しくお願い致します。

Aベストアンサー

一例です。
(1)一覧表ブックを開く→Sheet1タブ上で右クリック→コード表示→VBE(右上画面)に以下のコードを貼り付け
(2)コード内の「******」に顧客情報詳細ブックのパス名を設定→alt+F4キー押下(VBE画面終了)し、alt+F8キー押下→マクロを選択して実行

◎サンプルコード表
Sub 一覧表を作成()
Application.ScreenUpdating = False
myBook = "C:\***********\顧客情報詳細.xls"
i = 0
With Workbooks.Open(myBook)
For Each k In .Worksheets
i = i + 1
Sheet1.Cells(i, 1) = .Sheets(k.Name).Range("A6")
Sheet1.Cells(i, 2) = .Sheets(k.Name).Range("J6")
Sheet1.Cells(i, 3) = .Sheets(k.Name).Range("J8")
Next
.Close False
End With
Application.ScreenUpdating = True
End Sub

一例です。
(1)一覧表ブックを開く→Sheet1タブ上で右クリック→コード表示→VBE(右上画面)に以下のコードを貼り付け
(2)コード内の「******」に顧客情報詳細ブックのパス名を設定→alt+F4キー押下(VBE画面終了)し、alt+F8キー押下→マクロを選択して実行

◎サンプルコード表
Sub 一覧表を作成()
Application.ScreenUpdating = False
myBook = "C:\***********\顧客情報詳細.xls"
i = 0
With Workbooks.Open(myBook)
For Each k In .Worksheets
i = i + 1
Sheet1.Cell...続きを読む

Q(Excel)エクセルのバージョンごとの使用可能関数リストがあるサイト

(Excel)エクセルのバージョンごとの使用可能関数リストがあるサイト

Excel2007でIFERROR関数などを使っていました
しかし、以前のExcelバージョンだと使えないようです。
そこで、どの関数がどのExcelバージョンから使用可能か?
というリストのようなものを掲載しているサイトはありますか?

Aベストアンサー

下記ページで2007で追加された関数が解ります。

Excel(エクセル)基本講座:Excel(エクセル)関数一覧表
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/itiran.html

Q大量のCSVデータを行列の変換をしてエクセルデータにまとめる方法について

CSVファイルが4000個ほどあり、VBAを用い、そのファイルの行列変換をして、1つのエクセルファイルにまとめたいのですが、うまくいきません。どなたか教えていただけないでしょうか?

CSVファイルは、以下の様な2列200行位あるものを、2列目のみ取り出し、エクセルファイルには1行(列ではなく)にして取り出したいのです。

変換前データー

A列   B列

B013 毛
B014 54
B015 ポリエステル
B016 36
B017 絹
B018 10
B020 0
B022 0
B023 ポリエステル
B024 0
B025 キュプラ
B026 0
B028 0
B030 0
B032 0
 ・  ・
 ・  ・
 ・  ・


取り込み変換後データ

1行: 毛 54 ポリエステル 36 絹 10 0 0 ポリエステル 0 キュプラ 0 0 0 0


のようにしたいのです。
どなたかお教えいただけないでしょうか?
よろしくお願いいたします。

CSVファイルが4000個ほどあり、VBAを用い、そのファイルの行列変換をして、1つのエクセルファイルにまとめたいのですが、うまくいきません。どなたか教えていただけないでしょうか?

CSVファイルは、以下の様な2列200行位あるものを、2列目のみ取り出し、エクセルファイルには1行(列ではなく)にして取り出したいのです。

変換前データー

A列   B列

B013 毛
B014 54
B015 ポリエステル
B016 36
B017 絹
B018 ...続きを読む

Aベストアンサー

4000個もあるんじゃマクロじゃなきゃできませんよね。
次の手順を試してみてください。
その4000個程度のCSVファイルが入っているフォルダーに、以下のマクロを書いたエクセルBOOKを保存してください。(パス取得のため必ず「保存」してください。)
そのフォルダー内の全てのCSVファイルから、B1:B256の範囲のデータを読み込み、エクセルの.Sheets("Sheet1")の1行目から順に転記していきます。
読み込むのをB1:B256としたのは、わたしのエクセルが2007ではないので、行列を入れ替えたとき列が256列までしかないからです。でも200件程度のデータなら大丈夫ですね?

Sub test01()
Dim myFile As String, MyPath As String '変数宣言
Dim i As Long
Dim wb As Workbook
MyPath = ThisWorkbook.Path & "\" '自分のパスを取得
myFile = Dir(MyPath & "*.csv", vbNormal) 'パス内のcsvファイル
Application.ScreenUpdating = False '画面更新停止
Application.Calculation = xlCalculationManual '自動計算停止
Do Until myFile = "" '対象ファイルがなくなるまで
Set wb = Workbooks.Open(MyPath & "\" & myFile) '選択したファイルを開く
ThisWorkbook.Sheets("Sheet1").Range("A1:IV1").Offset(i).Value = _
Application.Transpose(wb.Sheets(1).Range("B1:B256").Value) '行列を入れ替えて転記
i = i + 1 'カウント
wb.Close (False) '開いたファイルを閉じる
myFile = Dir '次のファイルを検索
Loop '繰り返し
Application.Calculation = xlCalculationAutomatic '自動計算停止解除
Application.ScreenUpdating = True '画面更新停止解除
Set wb = Nothing
MsgBox i & "件のCSVファイルから転記しました。", vbInformation, " " & Environ("UserName") & "さん (o^-')v "
End Sub

4000個もあるんじゃマクロじゃなきゃできませんよね。
次の手順を試してみてください。
その4000個程度のCSVファイルが入っているフォルダーに、以下のマクロを書いたエクセルBOOKを保存してください。(パス取得のため必ず「保存」してください。)
そのフォルダー内の全てのCSVファイルから、B1:B256の範囲のデータを読み込み、エクセルの.Sheets("Sheet1")の1行目から順に転記していきます。
読み込むのをB1:B256としたのは、わたしのエクセルが2007ではないので、行列を入れ替えたとき列が256列までし...続きを読む

Qエクセルの0の表示、非表示に関する質問です。

エクセルで0の表示又は非表示にする設定は昔のエクセルだとセルの書式設定で簡単に出来たと思うのですが、最新のエクセルでは出来ません。やり方を教えて下さい。

Aベストアンサー

こんにちは!

いくつかのやり方がありますが、昔から変わっていないと思います。
Excel2010以降のバージョンをお使いの場合
(Excel2007も似たような感じですが、表示が少し異なります)

① メニュー → ファイル → オプション → 詳細設定 → 「次にシートで作業するときの表示設定 → ゼロ値のセルにゼロを表示する のチェックを外してOK

② 「0」を表示させたくないセルを範囲指定 → 右クリック → セルの書式設定 → 「表示形式」タブの「ユーザー定義」で
0;;
としてOK

※ ①の場合はSheet全体が対象となります。m(_ _)m

Qエクセルでデータ抽出し、別のファイルを作成したいのですがVBAを勉強し

エクセルでデータ抽出し、別のファイルを作成したいのですがVBAを勉強しないと出来ませんか?
例えば、エクセルで作成した顧客名簿には氏名、年齢、生年月日、住所、電話番号が入力されており、そこから1960-1980年生まれで住所が大阪府の人をセレクトし、別のエクセルデータに出力するとしたらどうすればいいのでしょう?
昔にCOBOLをかじったことがあり、頭の中ではすごく簡単な作業に思えるのですが・・・

よろしくご教授願います

Aベストアンサー

こんにちは!
一例です。
↓の画像で説明させていただきます。

別ファイルではなくSheet1の元データをSheet2に抽出するようにしてみました。方法は同じですので
参考程度で目を通してみてください。

Sheet1に作業用の列を設けています。
Sheet1の生年月日はシリアル値が入っているものとします。

作業列F2セルに
=IF(COUNTBLANK(Sheet2!$G$2:$I$2),"",IF(AND(YEAR(C2)>=Sheet2!$G$2,YEAR(C2)<=Sheet2!$H$2,ISNUMBER(FIND(Sheet2!$I$2,D2))),ROW(),""))

という数式を入れ、フィルハンドルの(+)マークでダブルクリック、またはオートフィルで下へコピーします。

そして、Sheet2のA2セルに
=IF(COUNT(Sheet1!$F:$F)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$F:$F,ROW(A1))))

という数式を入れ、列方向と行方向にオートフィルでコピーすると
画像のような感じになります。

これでSheet2のG2セルに「○○以降」H2セルに「○○まで」の西暦年数を入力、
I2セルに抽出したい「住所」の一部でも入力すると
Sheet2にデータが表示されると思います。

以上、参考になればよいのですが・・・m(__)m

こんにちは!
一例です。
↓の画像で説明させていただきます。

別ファイルではなくSheet1の元データをSheet2に抽出するようにしてみました。方法は同じですので
参考程度で目を通してみてください。

Sheet1に作業用の列を設けています。
Sheet1の生年月日はシリアル値が入っているものとします。

作業列F2セルに
=IF(COUNTBLANK(Sheet2!$G$2:$I$2),"",IF(AND(YEAR(C2)>=Sheet2!$G$2,YEAR(C2)<=Sheet2!$H$2,ISNUMBER(FIND(Sheet2!$I$2,D2))),ROW(),""))

という数式を入れ、フィルハンドルの(+)マークでダブル...続きを読む

Qエクセルで、3Dのドーナツグラフの作成方法を教えてください

 ある雑誌の中で、ドーナツ(真中に丸い空白)の3Dグラフを見ました。
 同じように、エクセル2002でドーナツの3Dグラフの作成をする事は可能でしょうか? もし可能であれば、作成方法を教えてください。
 どうぞ宜しくお願い致します。 

Aベストアンサー

ドーナツグラフの書式で「影つき」を選ぶと微妙に…(^^;

3D円グラフのように斜め上から見たような図だったのでしょうか?

Qエクセル2003で作成したエクセルデータを、2007で加工したら、セルに関数が入力されているのに計算してくれなくなった

2003で作成したエクセル表を2007で加工しました。
2003の時点でセルにはSUM関数やVLOOKUP関数が入っていたのですが、
どのセルに入力しても計算してくれなくなりました。
関数を再度入れなおしましたが、ダメでした。
関数を見ると正しく入力されています。
苦労して作成した表なのでとてもショックです。
解決策はありませんでしょうか??

Aベストアンサー

まずはF9キーを押してみてください。

あと、以下の設定項目も確認してください。
 ツール→オプション→「計算方法」を「自動」にする

Qエクセルでグラフ作成方法(組み合わせ)

添付しているような
積み上げ+折れ線のグラフをエクセル(Excel)作成したいのですが、
どうやればいいのか・・・
作り方がどうしてもわかりません。

グラフ作成にお詳しい方、教えていただければと
思います。
よろしくお願いします。

Aベストアンサー

officeのバージョンをできれば書いてほしかったと思いますが、
下記のURLを参考にしてください。
http://www.excel.studio-kazu.jp/kw/20091102151756.html

Q罫線もいっしょに行列の入れ替えがしたいんです

下記(1)のような表の行と列を罫線ごと入れ替えて、(2)のような形にしたいんです。
そこで「コピー」「形式を指定して貼り付け」で「貼り付け:すべて」「行列を入れ替える」を選んでやったんですが、(3)のようになってしまいます。
何かよい方法はないでしょうか?
--と|は普通の実線、==と||は二重線です。

(1)
 |あ い う
=============
A|
 |
B|
 |
C|
 |
D|



(2)
  || A B C D
-----------------
あ||
  ||
い||
  ||
う ||


(3)
  | A | B | C | D |
==

==

==

==

Aベストアンサー

asyuです。追加の書き込みですが・・・
罫線を残して(罫線は移動させない)、表の中だけの縦横の入れ替えは出来ます。

元の表のコピーをとり、別の場所に表の縦横を入れ替えた状態で貼り付けします。
その結果をコピーし、元の表のところに張り付けするのですが、ここでメニューバーの『形式を選択して貼り付け』の
「罫線を除くすべて」を選択しOKで閉じますと、元の表の罫線は移動も消去もされずに表の中だけが縦横入れ替わった状態になります。

罫線の引きなおしがかなりの手間でしたら、線種が入れ変わった状態になりますが、この方法はいかがでしょうか?
すでにご承知の上の質問でしたら、ごめんなさい、です。


人気Q&Aランキング

おすすめ情報